From afcec3ea58a796eb9579b8dcac1e1cf61b3fdd7a Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 5 Aug 2012 10:18:41 -0400 Subject: [PATCH 001/182] added curElement.focus() to make sure sketches can be mouse-focussed --- processing.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/processing.js b/processing.js index 09e9e299e..b835b7883 100755 --- a/processing.js +++ b/processing.js @@ -17661,7 +17661,11 @@ }); // Disable browser's default handling for click-drag of a canvas. - curElement.onmousedown = function () { return false; }; + curElement.onmousedown = function () { + // make sure focus happens, but nothing else + curElement.focus(); + return false; + }; attachEventHandler(curElement, "mousedown", function(e) { p.__mousePressed = true; From 76d2c2abbbbc833dd0069c29c70b8f2ab0621df4 Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 5 Aug 2012 10:30:30 -0400 Subject: [PATCH 002/182] enforced focus-on-load --- processing.js | 1 + 1 file changed, 1 insertion(+) diff --git a/processing.js b/processing.js index b835b7883..bbee5ddb8 100755 --- a/processing.js +++ b/processing.js @@ -17730,6 +17730,7 @@ // by assigning it a tabindex. If no tabindex is specified on-page, set this to 0. if (!curElement.getAttribute("tabindex")) { curElement.setAttribute("tabindex", 0); + curElement.focus(); } function getKeyCode(e) { From 6e4bfa42073efb71c6a331f896107d623704bb86 Mon Sep 17 00:00:00 2001 From: davidleibovic Date: Sun, 5 Aug 2012 18:50:15 -0400 Subject: [PATCH 003/182] fixed ArrayList iterator and added unit test for it --- processing.js | 8 +++-- test/unit/arrayListIterator.pde | 58 +++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 test/unit/arrayListIterator.pde diff --git a/processing.js b/processing.js index 09e9e299e..710df6ee1 100755 --- a/processing.js +++ b/processing.js @@ -454,17 +454,19 @@ */ var ArrayList = (function() { function Iterator(array) { - var index = 0; + var index = -1; this.hasNext = function() { - return index < array.length; + return (index + 1) < array.length; }; this.next = function() { - return array[index++]; + index++; + return array[index]; }; this.remove = function() { array.splice(index, 1); + index--; }; } diff --git a/test/unit/arrayListIterator.pde b/test/unit/arrayListIterator.pde new file mode 100644 index 000000000..c15c65e90 --- /dev/null +++ b/test/unit/arrayListIterator.pde @@ -0,0 +1,58 @@ +ArrayList arrayList = new ArrayList(); +arrayList.add("a"); +arrayList.add("b"); +arrayList.add("c"); + +_checkEqual(3, arrayList.size()); + +Iterator it = arrayList.iterator(); +String temp; + + +// test iteration methods +_checkTrue(it.hasNext()); +temp = it.next(); +_checkEqual(temp, "a"); + +_checkTrue(it.hasNext()); +temp = it.next(); +_checkEqual(temp, "b"); + +_checkTrue(it.hasNext()); +temp = it.next(); +_checkEqual(temp, "c"); + +_checkFalse(it.hasNext()); + +// test remove method +it = arrayList.iterator(); + +ArrayList remove1 = new ArrayList(); +remove1.add("b"); +remove1.add("c"); + +ArrayList remove2 = new ArrayList(); +remove2.add("c"); + +ArrayList remove3 = new ArrayList(); + + +_checkTrue(it.hasNext()); +it.next(); +it.remove(); +_checkEqual(2, arrayList.size()); +_checkEqual(remove1, arrayList); + +_checkTrue(it.hasNext()); +it.next(); +it.remove(); +_checkEqual(1, arrayList.size()); +_checkEqual(remove2, arrayList); + +_checkTrue(it.hasNext()); +it.next(); +it.remove(); +_checkEqual(0, arrayList.size()); +_checkEqual(remove3, arrayList); + +_checkFalse(it.hasNext()); From 7ffd0a64f4e744ce79ce030a05f30004815cdbe7 Mon Sep 17 00:00:00 2001 From: Michiel Kamermans Date: Tue, 7 Aug 2012 10:32:06 -0400 Subject: [PATCH 004/182] added String.matches functionality, plus unit test --- processing.js | 15 +++++- test/unit/string_matches.pde | 100 +++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 2 deletions(-) create mode 100755 test/unit/string_matches.pde diff --git a/processing.js b/processing.js index 09e9e299e..b3d6af528 100755 --- a/processing.js +++ b/processing.js @@ -9480,6 +9480,17 @@ p.match = function(str, regexp) { return str.match(regexp); }; + /** + * The matches() function checks whether or not a string matches a given regular expression. + * + * @param {String} str the String on which the match is tested + * @param {String} regexp the regexp for which a match is tested + * + * @return {boolean} true if the string fits the regexp, false otherwise + */ + p.__matches = function(str, regexp) { + return (new RegExp(regexp)).test(str); + } /** * The startsWith() function tests if a string starts with the specified prefix. If the prefix * is the empty String or equal to the subject String, startsWith() will also return true. @@ -18050,7 +18061,7 @@ "__equalsIgnoreCase", "__frameRate", "__hashCode", "__int_cast", "__instanceof", "__keyPressed", "__mousePressed", "__printStackTrace", "__replace", "__replaceAll", "__replaceFirst", "__toCharArray", "__split", - "__codePointAt", "__startsWith", "__endsWith"]; + "__codePointAt", "__startsWith", "__endsWith", "__matches"]; var members = {}; var i, l; @@ -18442,7 +18453,7 @@ } do { repeatJavaReplacement = false; - s = s.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*\.\s*(?:[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*\.\s*)*)(replace|replaceAll|replaceFirst|contains|equals|equalsIgnoreCase|hashCode|toCharArray|printStackTrace|split|startsWith|endsWith|codePointAt)\s*"B(\d+)"/g, + s = s.replace(/((?:'\d+'|\b[A-Za-z_$][\w$]*\s*(?:"[BC]\d+")*)\s*\.\s*(?:[A-Za-z_$][\w$]*\s*(?:"[BC]\d+"\s*)*\.\s*)*)(replace|replaceAll|replaceFirst|contains|equals|equalsIgnoreCase|hashCode|toCharArray|printStackTrace|split|startsWith|endsWith|codePointAt|matches)\s*"B(\d+)"/g, replacePrototypeMethods); } while (repeatJavaReplacement); // xxx instanceof yyy -> __instanceof(xxx, yyy) diff --git a/test/unit/string_matches.pde b/test/unit/string_matches.pde new file mode 100755 index 000000000..96c994d79 --- /dev/null +++ b/test/unit/string_matches.pde @@ -0,0 +1,100 @@ +// Unit tests for String.matches() method that emulates Java's behaviour. +// See #1886 for more info. +String s = "abc"; +String d = "123"; + +_checkEqual(s.matches("\\w+"), true); +_checkEqual(s.matches("[a-z]+"), true); +_checkEqual(s.matches("\\d+"), false); + +_checkEqual(d.matches("\\w+"), true); +_checkEqual(d.matches("[a-z]+"), false); +_checkEqual(d.matches("\\d+"), true); + +String email = "Lollerskates@monkeyMagic.com"; +String regexp = "(?:(?:\\r\\n)?[ \\t])*(?:(?:(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t]" + +")+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:" + +"\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(" + +"?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ " + +"\\t]))*\"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\0" + +"31]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\" + +"](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+" + +"(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:" + +"(?:\\r\\n)?[ \\t])*))*|(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z" + +"|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)" + +"?[ \\t])*)*\\<(?:(?:\\r\\n)?[ \\t])*(?:@(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\" + +"r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[" + +" \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)" + +"?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t]" + +")*))*(?:,@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[" + +" \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*" + +")(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t]" + +")+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)" + +"*:(?:(?:\\r\\n)?[ \\t])*)?(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+" + +"|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r" + +"\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:" + +"\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t" + +"]))*\"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031" + +"]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](" + +"?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?" + +":(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?" + +":\\r\\n)?[ \\t])*))*\\>(?:(?:\\r\\n)?[ \\t])*)|(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?" + +":(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?" + +"[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)*:(?:(?:\\r\\n)?[ \\t])*(?:(?:(?:[^()<>@,;:\\\\\".\\[\\] " + +"\\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|" + +"\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>" + +"@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"" + +"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t]" + +")*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\" + +"\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?" + +":[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[" + +"\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*|(?:[^()<>@,;:\\\\\".\\[\\] \\000-" + +"\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(" + +"?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)*\\<(?:(?:\\r\\n)?[ \\t])*(?:@(?:[^()<>@,;" + +":\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([" + +"^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\"" + +".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\" + +"]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*(?:,@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\" + +"[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\" + +"r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] " + +"\\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]" + +"|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)*:(?:(?:\\r\\n)?[ \\t])*)?(?:[^()<>@,;:\\\\\".\\[\\] \\0" + +"00-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\" + +".|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@," + +";:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?" + +":[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*" + +"(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\"." + +"\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[" + +"^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]" + +"]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*\\>(?:(?:\\r\\n)?[ \\t])*)(?:,\\s*(" + +"?:(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\" + +"\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(" + +"?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[" + +"\\[\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t" + +"])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t" + +"])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?" + +":\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|" + +"\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*|(?:" + +"[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\" + +"]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)*\\<(?:(?:\\r\\n)" + +"?[ \\t])*(?:@(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"" + +"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)" + +"?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>" + +"@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*(?:,@(?:(?:\\r\\n)?[" + +" \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@," + +";:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t]" + +")*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\" + +"\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)*:(?:(?:\\r\\n)?[ \\t])*)?" + +"(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[\"()<>@,;:\\\\\"." + +"\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:" + +"\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\[" + +"\"()<>@,;:\\\\\".\\[\\]]))|\"(?:[^\\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*\"(?:(?:\\r\\n)?[ \\t])" + +"*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])" + +"+|\\Z|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\" + +".(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\\".\\[\\] \\000-\\031]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z" + +"|(?=[\\[\"()<>@,;:\\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*\\>(?:(" + +"?:\\r\\n)?[ \\t])*))*)?;\\s*)"; + +_checkEqual(email.matches(regexp), true); + + From d856c1b1cfa1b6c1e6b922f5a4d15b0e5f193a7c Mon Sep 17 00:00:00 2001 From: Michiel Kamermans Date: Tue, 7 Aug 2012 10:57:31 -0400 Subject: [PATCH 005/182] forgot a ; --- processing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing.js b/processing.js index b3d6af528..4ca5b4eb7 100755 --- a/processing.js +++ b/processing.js @@ -9490,7 +9490,7 @@ */ p.__matches = function(str, regexp) { return (new RegExp(regexp)).test(str); - } + }; /** * The startsWith() function tests if a string starts with the specified prefix. If the prefix * is the empty String or equal to the subject String, startsWith() will also return true. From a3381470723cd4d034ea51e07a02aae76c236e0b Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Wed, 8 Aug 2012 18:10:09 -0400 Subject: [PATCH 006/182] removed default focus-change --- processing.js | 1 - 1 file changed, 1 deletion(-) diff --git a/processing.js b/processing.js index bbee5ddb8..b835b7883 100755 --- a/processing.js +++ b/processing.js @@ -17730,7 +17730,6 @@ // by assigning it a tabindex. If no tabindex is specified on-page, set this to 0. if (!curElement.getAttribute("tabindex")) { curElement.setAttribute("tabindex", 0); - curElement.focus(); } function getKeyCode(e) { From 308591d05db8be7e9a6ea0ea1f9ca1fb304e4e89 Mon Sep 17 00:00:00 2001 From: Jon Buckley Date: Wed, 8 Aug 2012 21:46:12 -0400 Subject: [PATCH 007/182] Updated changelog for v1.4.1 --- CHANGELOG | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 50f19ec0b..1a3307fd7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +August 9, 2012 - Release 1.4.1 + + * Added String.matches() [#1886] + * Fixed canvas not receiving focus [#1883] + July 31, 2012 - Release 1.4.0 * Added a PJS object inspector [#1867] From 3b2dc958061be531c07d16aced0c7a8957083171 Mon Sep 17 00:00:00 2001 From: Jon Buckley Date: Wed, 8 Aug 2012 21:56:02 -0400 Subject: [PATCH 008/182] Fix documentation regarding exit() and draw() [#1197] --- processing.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/processing.js b/processing.js index 048384813..acbf5a577 100755 --- a/processing.js +++ b/processing.js @@ -8680,9 +8680,7 @@ } /** - * Quits/stops/exits the program. Programs without a draw() function exit automatically - * after the last line has run, but programs with draw() run continuously until the - * program is manually stopped or exit() is run. + * Quits/stops/exits the program. * Rather than terminating immediately, exit() will cause the sketch to exit after draw() * has completed (or after setup() completes if called during the setup() method). * From 7fd1a8ebeef058f62aa9aaa24ae9615b7119242f Mon Sep 17 00:00:00 2001 From: davidleibovic Date: Fri, 10 Aug 2012 12:58:29 -0400 Subject: [PATCH 009/182] made use of ++index for array list iterator rather than incrementing on a separate line. --- processing.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/processing.js b/processing.js index 710df6ee1..0afba1c44 100755 --- a/processing.js +++ b/processing.js @@ -460,13 +460,11 @@ }; this.next = function() { - index++; - return array[index]; + return array[++index]; }; this.remove = function() { - array.splice(index, 1); - index--; + array.splice(index--, 1); }; } From eb88381310cfa2c22ecd7e910eb6d512edc60c0a Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sat, 11 Aug 2012 14:32:42 -0400 Subject: [PATCH 010/182] made ArrayList constructor take 'anything that has .toArray' instead of just ArrayList --- processing.js | 2 +- test/unit/arrayListFromSet.pde | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100755 test/unit/arrayListFromSet.pde diff --git a/processing.js b/processing.js index 048384813..ecec66a71 100755 --- a/processing.js +++ b/processing.js @@ -471,7 +471,7 @@ function ArrayList(a) { var array; - if (a instanceof ArrayList) { + if (a && a.toArray) { array = a.toArray(); } else { array = []; diff --git a/test/unit/arrayListFromSet.pde b/test/unit/arrayListFromSet.pde new file mode 100755 index 000000000..e3e540595 --- /dev/null +++ b/test/unit/arrayListFromSet.pde @@ -0,0 +1,8 @@ +HashMap map = new HashMap(); +map.put("a","1"); + +ArrayList keys = new ArrayList(map.keySet()); +_checkEqual(keys.get(0), "a"); + +ArrayList vals = new ArrayList(map.values()); +_checkEqual(vals.get(0), "1"); From 8b86292edb394a2ced299bdd1e7530b7470abb4b Mon Sep 17 00:00:00 2001 From: Andrew Patton Date: Thu, 16 Aug 2012 12:24:45 -0300 Subject: [PATCH 011/182] Updated QuickStart links + a typo fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QuickStart links pointed to 404s; also, “relatively links” → “relative links” --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dce6ca7a1..a92ab85b4 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ Some web browsers (e.g., Chrome) require secondary files to be loaded from a web server for security reasons. This means loading a web page that references a Processing.js sketch in a file via a file:/// URL vs. http:// will fail. You are particularly likely to run into this problem when you try to view your -webpage directly from file, as this makes all relatively links file:/// links. +webpage directly from file, as this makes all relative links file:/// links. There are several ways to get around this problem. You can use a browser which does allow file:/// access, although most current browsers either have, or plan @@ -128,10 +128,10 @@ you turn it back on. While "easy", this is unsafe. Learn More About Processing.js ------------------------------- Processing developers should start with the Processing.js Quick Start Guide for -Processing Developers at http://processingjs.org/reference/articles/p5QuickStart. +Processing Developers at http://processingjs.org/articles/p5QuickStart.html JavaScript developers should start with the Processing.js Quick Start Guide for -JavaScript Developers at http://processingjs.org/reference/articles/jsQuickStart +JavaScript Developers at http://processingjs.org/articles/jsQuickStart.html A more detailed guide is http://processingjs.org/articles/PomaxGuide.html From d53136fa1949918dbdcc1335543abc38f8fb737f Mon Sep 17 00:00:00 2001 From: asalga Date: Sat, 28 Jul 2012 22:22:53 -0400 Subject: [PATCH 012/182] Added fix for testing string with null, added test. --- processing.js | 3 +-- test/unit/string_equals_null.pde | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100755 test/unit/string_equals_null.pde diff --git a/processing.js b/processing.js index 048384813..114befb71 100755 --- a/processing.js +++ b/processing.js @@ -9373,8 +9373,7 @@ return subject.equals.apply(subject, removeFirstArgument(arguments)); } - // TODO use virtEquals for HashMap here - return subject.valueOf() === other.valueOf(); + return virtEquals(subject, other); }; /** * The __equalsIgnoreCase() function compares two strings to see if they are the same. diff --git a/test/unit/string_equals_null.pde b/test/unit/string_equals_null.pde new file mode 100755 index 000000000..c31bf6541 --- /dev/null +++ b/test/unit/string_equals_null.pde @@ -0,0 +1,3 @@ +String test = "test"; +String nullTest = null; +_checkEqual(test.equals(nullTest), false); \ No newline at end of file From 200200695abb9fac0d297563847bdf79acc717ea Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 2 Sep 2012 17:53:11 -0400 Subject: [PATCH 013/182] rebind Processing.instances when processingInstances is cleared --- processing.js | 1 + 1 file changed, 1 insertion(+) diff --git a/processing.js b/processing.js index 312f3cfd6..9483870e5 100755 --- a/processing.js +++ b/processing.js @@ -20206,6 +20206,7 @@ // sketch duplication when page content is dynamically swapped without // swapping out processing.js processingInstances = []; + Processing.instances = processingInstances; var canvas = document.getElementsByTagName('canvas'), filenames; From 92fe4cdf76a9e392fffa62185a340846bdaac90c Mon Sep 17 00:00:00 2001 From: asalga Date: Sun, 9 Sep 2012 19:26:43 -0400 Subject: [PATCH 014/182] Added PVector.sub() perf was 311ms now is 190ms! Remove sub PVector unit tests from PVector.pde to PVector-sub.pde and added a whole bunch more unit tests for sub. --- processing.js | 4 ++ test/unit/PVector-sub.pde | 121 ++++++++++++++++++++++++++++++++++++++ test/unit/PVector.pde | 13 ---- 3 files changed, 125 insertions(+), 13 deletions(-) create mode 100644 test/unit/PVector-sub.pde diff --git a/processing.js b/processing.js index 09e9e299e..4db0c8f8e 100755 --- a/processing.js +++ b/processing.js @@ -1152,6 +1152,10 @@ return v1.cross(v2); }; + PVector.sub = function(v1, v2) { + return new PVector(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z); + }; + PVector.angleBetween = function(v1, v2) { return Math.acos(v1.dot(v2) / (v1.mag() * v2.mag())); }; diff --git a/test/unit/PVector-sub.pde b/test/unit/PVector-sub.pde new file mode 100644 index 000000000..67f89fe78 --- /dev/null +++ b/test/unit/PVector-sub.pde @@ -0,0 +1,121 @@ +// SETUP - Subtract using class method 2D +PVector v1 = new PVector(10, 20); +PVector v2 = new PVector(40, 50); + +PVector res = PVector.sub(v1, v2); +_checkEqual([res.x, res.y], [-30, -30]); + + + +// SETUP - Subtract using class method 2D +v1 = new PVector(-5, 90); +v2 = new PVector(40, -20); + +res = PVector.sub(v2, v1); +_checkEqual([res.x, res.y], [45, -110]); + + + +// SETUP - Subtract using instance method 2D +v1 = new PVector(1, 2, 3); +v2 = new PVector(10, 20, 30); + +v1.sub(v2); +_checkEqual([v1.x, v1.y, v1.z], [-9, -18, -27]); + + + +// SETUP - Subtract using instance method 2D +v1 = new PVector(1, 2); +v2 = new PVector(10, 20); + +v2.sub(v1); +_checkEqual([v2.x, v2.y], [9, 18]); + + + +// SETUP - Subtract using class method 3D +v1 = new PVector(10, 20, 30); +v2 = new PVector(40, 50, 60); + +PVector res = PVector.sub(v1, v2); +_checkEqual([res.x, res.y, res.z], [-30, -30, -30]); + + + +// SETUP - Subtract using class method 3D +v1 = new PVector(-15, 30, 45); +v2 = new PVector(70, -40, -60); + +res = PVector.sub(v2, v1); +_checkEqual([res.x, res.y, res.z], [85, -70, -105]); + + + +// SETUP - Subtract using class method with different vector dimensions +v1 = new PVector(10, 20); +v2 = new PVector(40, 50, 60); + +PVector res = PVector.sub(v1, v2); +_checkEqual([res.x, res.y, res.z], [-30, -30, -60]); + + + +// SETUP - Subtract using class method with different vector dimensions +v1 = new PVector(-5, 90, 20); +v2 = new PVector(40, -20); + +res = PVector.sub(v2, v1); +_checkEqual([res.x, res.y, res.z], [45, -110, -20]); + + + +// SETUP - Subtract using instance method 3D +v1 = new PVector(1, 2, 3); +v2 = new PVector(10, 20, 30); + +v1.sub(v2); +_checkEqual([v1.x, v1.y, v1.z], [-9, -18, -27]); + + + +// SETUP - Subtract using instance method 3D +v1 = new PVector(1, 2, 3); +v2 = new PVector(10, 20, 30); + +v2.sub(v1); +_checkEqual([v2.x, v2.y, v2.z], [9, 18, 27]); + + + +// SETUP - Subtract using instance method with x,y,z +v1 = new PVector(1, 2, 3); + +v1.sub(10, 20, 30); +_checkEqual([v1.x, v1.y, v1.z], [-9, -18, -27]); + + + +// SETUP - Subtract using instance method with x,y,z +v1 = new PVector(10, 20, 30); + +v1.sub(1, 2, 3); +_checkEqual([v2.x, v2.y, v2.z], [9, 18, 27]); + + + +// SETUP - Subtract vectors of different dimensions +v1 = new PVector(1, 2, 3); +v2 = new PVector(10, 20); + +v1.sub(v2); +_checkEqual([v1.x, v1.y, v1.z], [-9, -18, 3]); + + + +// SETUP - Subtract vectors of different dimensions +v1 = new PVector(5, 10); +v2 = new PVector(5, 10, 15); + +v1.sub(v2); +_checkEqual([v1.x, v1.y, v1.z], [0, 0, -15]); \ No newline at end of file diff --git a/test/unit/PVector.pde b/test/unit/PVector.pde index b0e626ce6..9caca552c 100644 --- a/test/unit/PVector.pde +++ b/test/unit/PVector.pde @@ -69,19 +69,6 @@ _checkEqual(v3.z, 0); PVector v4 = new PVector(10, 10, 10); -// SUB -v3.sub(v4); - -_checkEqual(v3.x, 95); -_checkEqual(v3.y, 80); -_checkEqual(v3.z, -10); - -PVector v5 = PVector.sub(v3,v4); - -_checkEqual(v5.x, 85); -_checkEqual(v5.y, 70); -_checkEqual(v5.z, -20); - PVector v1, v2; v1 = new PVector(40, 20, 15); v2 = new PVector(25, 50, 10); From f0f45573a917f677bac4fb8e062d8aa6e8a9ecaf Mon Sep 17 00:00:00 2001 From: davidleibovic Date: Wed, 12 Sep 2012 16:51:54 -0400 Subject: [PATCH 015/182] Fixed bug 1828 and added unit test --- processing.js | 2 +- test/unit/nfc.pde | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 test/unit/nfc.pde diff --git a/processing.js b/processing.js index 0afba1c44..d49b3492a 100755 --- a/processing.js +++ b/processing.js @@ -9071,7 +9071,7 @@ * @see nfs * @see nfp */ - p.nfc = function(value, leftDigits, rightDigits) { return nfCore(value, "", "-", leftDigits, rightDigits, ","); }; + p.nfc = function(value, rightDigits) { return nfCore(value, "", "-", 0, rightDigits, ","); }; var decimalToHex = function(d, padding) { //if there is no padding value added, default padding to 8 else go into while statement. diff --git a/test/unit/nfc.pde b/test/unit/nfc.pde new file mode 100644 index 000000000..c3db59d23 --- /dev/null +++ b/test/unit/nfc.pde @@ -0,0 +1,29 @@ +int a=200, b=-40000, c=1901024; + +String sa = nfc(a); +_checkEqual(sa, "200"); + +String sb = nfc(b); +_checkEqual(sb, "-40,000"); + +String sc = nfc(c); +_checkEqual(sc, "1,901,024"); + +float d = 200.94, e = 40000, f = -1901024.012; + +String sd = nfc(d, 2); +_checkEqual(sd, "200.94"); + +String se = nfc(e, 2); +_checkEqual(se, "40,000.00"); + +String sf = nfc(f, 2); +_checkEqual(sf, "-1,901,024.01"); + +// test to see if we can trim a long fractional number down to 2 decimal places +_checkEqual(nfc(1000.56789, 2), "1,000.57"); + +// does rounding work correctly +_checkEqual(nfc(-1234.99, 1), "-1,235.0"); +_checkEqual(nfc(-1234.994, 2), "-1,234.99"); + From 148ca41fcd139ef7303b7e8746edb02bd08234f8 Mon Sep 17 00:00:00 2001 From: Guilherme Souza Date: Thu, 20 Sep 2012 18:01:44 -0300 Subject: [PATCH 016/182] Fixing failure on firefox documentXUL when you tried to override document.head --- processing.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/processing.js b/processing.js index 926153135..4bcf89190 100755 --- a/processing.js +++ b/processing.js @@ -28,7 +28,9 @@ var isDOMPresent = ("document" in this) && !("fake" in this.document); // document.head polyfill for the benefit of Firefox 3.6 - document.head = document.head || document.getElementsByTagName('head')[0]; + if (!document.head) { + document.getElementsByTagName('head')[0]; + } // Typed Arrays: fallback to WebGL arrays or Native JS arrays if unavailable function setupTypedArray(name, fallback) { From c945972052fe7e5514f0c570a92b8e93fe5e9828 Mon Sep 17 00:00:00 2001 From: Guilherme Souza Date: Thu, 20 Sep 2012 18:03:56 -0300 Subject: [PATCH 017/182] InstanceOf was failing inside a firefox extension --- processing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/processing.js b/processing.js index 4bcf89190..a7629b0bf 100755 --- a/processing.js +++ b/processing.js @@ -2070,7 +2070,7 @@ curElement = typeof aCanvas === "string" ? document.getElementById(aCanvas) : aCanvas; } - if (!(curElement instanceof HTMLCanvasElement)) { + if (!('getContext' in curElement)) { throw("called Processing constructor without passing canvas element reference or id."); } From 970d95304aff59cd0663185ea5a3eb3d9fe6c92f Mon Sep 17 00:00:00 2001 From: Jon Buckley Date: Sat, 1 Dec 2012 16:56:56 -0500 Subject: [PATCH 018/182] Bug 1923 - Ignore image type in loadImage --- processing.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/processing.js b/processing.js index 062b3637f..130c554c9 100755 --- a/processing.js +++ b/processing.js @@ -15077,10 +15077,8 @@ * @see background */ p.loadImage = function(file, type, callback) { - // if type is specified add it with a . to file to make the filename - if (type) { - file = file + "." + type; - } + // if type is specified, we just ignore it + var pimg; // if image is in the preloader cache return a new PImage if (curSketch.imageCache.images[file]) { From 20146071043c7b6b7a1c06bb0173c8c96bc28f6a Mon Sep 17 00:00:00 2001 From: Pomax Date: Mon, 3 Dec 2012 14:43:01 -0500 Subject: [PATCH 019/182] p.online no longer exists in P5 2.0 --- processing.js | 1 - 1 file changed, 1 deletion(-) diff --git a/processing.js b/processing.js index 28a625967..9698e07c7 100755 --- a/processing.js +++ b/processing.js @@ -2152,7 +2152,6 @@ var curContext, curSketch, drawing, // hold a Drawing2D or Drawing3D object - online = true, doFill = true, fillStyle = [1.0, 1.0, 1.0, 1.0], currentFillColor = 0xFFFFFFFF, From cf8ac716436cf0093007c6efe616daa3880ef7ec Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 27 Jan 2013 10:45:53 -0500 Subject: [PATCH 020/182] nuked. --- processing.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/processing.js b/processing.js index 9698e07c7..2978a334f 100755 --- a/processing.js +++ b/processing.js @@ -1656,9 +1656,6 @@ defaultScope.defineProperty(defaultScope, 'screenHeight', { get: function() { return window.innerHeight; } }); - defaultScope.defineProperty(defaultScope, 'online', - { get: function() { return true; } }); - // Manage multiple Processing instances var processingInstances = []; var processingInstanceIds = {}; From bf79a0f1f59be4ffbe28968dd8cdb720c2a99fb4 Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 27 Jan 2013 11:32:58 -0500 Subject: [PATCH 021/182] ignoring new ArrayList(), since Processing does, too. Also updated test. --- processing.js | 7 +------ test/unit/arrayList.pde | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/processing.js b/processing.js index 8728c124f..b11e68f85 100755 --- a/processing.js +++ b/processing.js @@ -469,15 +469,10 @@ } function ArrayList(a) { - var array; + var array = []; if (a && a.toArray) { array = a.toArray(); - } else { - array = []; - if (typeof a === "number") { - array.length = a > 0 ? a : 0; - } } /** diff --git a/test/unit/arrayList.pde b/test/unit/arrayList.pde index c9943696b..e3a04f026 100644 --- a/test/unit/arrayList.pde +++ b/test/unit/arrayList.pde @@ -23,4 +23,4 @@ ArrayList list2 = new ArrayList(list1); _checkEqual(list1, list2); ArrayList list3 = new ArrayList(5); -_checkEqual(list3.size(), 5); +_checkEqual(list3.size(), 0); From da3313a5bf8ce5ec4266c4bf0e3a8bde61231c00 Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 27 Jan 2013 13:55:51 -0500 Subject: [PATCH 022/182] turns out SVG child parsing added an extra child step between all elements --- processing.js | 11 +- test/ref/loadshape-child-nesting.pde | 17 ++ test/ref/svg/blank_us_map.svg | 326 +++++++++++++++++++++++++++ test/ref/tests.js | 5 +- 4 files changed, 353 insertions(+), 6 deletions(-) create mode 100755 test/ref/loadshape-child-nesting.pde create mode 100755 test/ref/svg/blank_us_map.svg diff --git a/processing.js b/processing.js index 8728c124f..0c99db39c 100755 --- a/processing.js +++ b/processing.js @@ -3866,14 +3866,17 @@ */ PShapeSVG.prototype.parseChildren = function(element) { var newelement = element.getChildren(); - var children = new p.PShape(); - for (var i = 0, j = newelement.length; i < j; i++) { + var base = new p.PShape(); + var i, j; + for (i = 0, j = newelement.length; i < j; i++) { var kid = this.parseChild(newelement[i]); if (kid) { - children.addChild(kid); + base.addChild(kid); } } - this.children.push(children); + for (i = 0, j = base.children.length; i < j; i++) { + this.children.push(base.children[i]); + } }; /** * @member PShapeSVG diff --git a/test/ref/loadshape-child-nesting.pde b/test/ref/loadshape-child-nesting.pde new file mode 100755 index 000000000..b88333483 --- /dev/null +++ b/test/ref/loadshape-child-nesting.pde @@ -0,0 +1,17 @@ +//[100,100]240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,251,251,251,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,216,216,216,255,246,246,246,255,241,241,241,255,240,240,240,255,242,242,242,255,253,253,253,255,246,246,246,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,247,247,247,255,250,250,250,255,253,253,253,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,246,246,246,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,246,246,246,255,239,239,239,255,240,240,240,255,242,242,242,255,249,249,249,255,220,220,220,255,234,234,234,255,251,251,251,255,250,250,250,255,251,251,251,255,249,249,249,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,251,251,251,255,241,241,241,255,223,223,223,255,212,212,212,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,233,233,233,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,245,245,245,255,240,240,240,255,242,242,242,255,248,248,248,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,226,226,226,255,243,243,243,255,252,252,252,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,250,250,250,255,235,235,235,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,248,248,248,255,221,221,221,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,242,242,242,255,247,247,247,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,248,248,248,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,242,242,242,255,246,246,246,255,247,247,247,255,249,249,249,255,232,232,232,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,243,243,243,255,245,245,245,255,248,248,248,255,251,251,251,255,250,250,250,255,232,232,232,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,250,250,250,255,249,249,249,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,250,250,250,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,240,240,240,255,242,242,242,255,246,246,246,255,242,242,242,255,235,235,235,255,232,232,232,255,225,225,225,255,218,218,218,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,238,238,238,255,247,247,247,255,252,252,252,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,252,252,252,255,249,249,249,255,243,243,243,255,237,237,237,255,228,228,228,255,216,216,216,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,238,238,238,255,243,243,243,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,249,249,249,255,241,241,241,255,230,230,230,255,219,219,219,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,244,244,244,255,246,246,246,255,245,245,245,255,246,246,246,255,247,247,247,255,217,217,217,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,250,250,250,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,221,221,221,255,245,245,245,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,245,245,245,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,251,251,251,255,250,250,250,255,246,246,246,255,241,241,241,255,246,246,246,255,252,252,252,255,249,249,249,255,243,243,243,255,235,235,235,255,225,225,225,255,219,219,219,255,213,213,213,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,251,251,251,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,248,248,248,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,250,250,250,255,238,238,238,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,230,230,230,255,249,249,249,255,235,235,235,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,251,251,251,255,235,235,235,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,213,213,213,255,238,238,238,255,247,247,247,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,253,253,253,255,247,247,247,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,251,251,251,255,228,228,228,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,252,252,252,255,239,239,239,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,225,225,225,255,251,251,251,255,250,250,250,255,249,249,249,255,249,249,249,255,249,249,249,255,219,219,219,255,236,236,236,255,252,252,252,255,242,242,242,255,246,246,246,255,250,250,250,255,250,250,250,255,220,220,220,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,218,218,218,255,251,251,251,255,234,234,234,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,248,248,248,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,247,247,247,255,241,241,241,255,240,240,240,255,240,240,240,255,242,242,242,255,250,250,250,255,247,247,247,255,246,246,246,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,246,246,246,255,241,241,241,255,240,240,240,255,253,253,253,255,224,224,224,255,211,211,211,255,211,211,211,255,230,230,230,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,247,247,247,255,245,245,245,255,242,242,242,255,251,251,251,255,214,214,214,255,211,211,211,255,248,248,248,255,221,221,221,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,230,230,230,255,249,249,249,255,242,242,242,255,230,230,230,255,219,219,219,255,230,230,230,255,250,250,250,255,248,248,248,255,234,234,234,255,211,211,211,255,241,241,241,255,250,250,250,255,246,246,246,255,241,241,241,255,234,234,234,255,227,227,227,255,221,221,221,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,213,213,213,255,248,248,248,255,247,247,247,255,247,247,247,255,247,247,247,255,248,248,248,255,247,247,247,255,244,244,244,255,235,235,235,255,228,228,228,255,220,220,220,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,222,222,222,255,241,241,241,255,250,250,250,255,248,248,248,255,249,249,249,255,244,244,244,255,240,240,240,255,242,242,242,255,245,245,245,255,248,248,248,255,250,250,250,255,251,251,251,255,255,255,255,255,254,254,254,255,246,246,246,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,244,244,244,255,246,246,246,255,246,246,246,255,247,247,247,255,248,248,248,255,249,249,249,255,242,242,242,255,230,230,230,255,219,219,219,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,241,241,241,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,243,243,243,255,243,243,243,255,243,243,243,255,245,245,245,255,246,246,246,255,246,246,246,255,249,249,249,255,248,248,248,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,245,245,245,255,246,246,246,255,248,248,248,255,241,241,241,255,230,230,230,255,219,219,219,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,224,224,224,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,243,243,243,255,246,246,246,255,248,248,248,255,237,237,237,255,222,222,222,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,221,221,221,255,236,236,236,255,247,247,247,255,245,245,245,255,246,246,246,255,247,247,247,255,247,247,247,255,248,248,248,255,248,248,248,255,251,251,251,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,242,242,242,255,248,248,248,255,242,242,242,255,230,230,230,255,218,218,218,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,249,249,249,255,243,243,243,255,239,239,239,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,245,245,245,255,247,247,247,255,240,240,240,255,228,228,228,255,219,219,219,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,221,221,221,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,252,252,252,255,243,243,243,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,243,243,243,255,245,245,245,255,248,248,248,255,240,240,240,255,229,229,229,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,236,236,236,255,236,236,236,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,247,247,247,255,239,239,239,255,215,215,215,255,238,238,238,255,246,246,246,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,245,245,245,255,247,247,247,255,248,248,248,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,253,253,253,255,213,213,213,255,211,211,211,255,211,211,211,255,212,212,212,255,234,234,234,255,251,251,251,255,233,233,233,255,219,219,219,255,247,247,247,255,239,239,239,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,247,247,247,255,223,223,223,255,211,211,211,255,211,211,211,255,211,211,211,255,223,223,223,255,248,248,248,255,243,243,243,255,250,250,250,255,248,248,248,255,248,248,248,255,252,252,252,255,247,247,247,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,246,246,246,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,251,251,251,255,245,245,245,255,232,232,232,255,212,212,212,255,233,233,233,255,250,250,250,255,247,247,247,255,241,241,241,255,244,244,244,255,255,255,255,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,248,248,248,255,240,240,240,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,217,217,217,255,250,250,250,255,217,217,217,255,211,211,211,255,211,211,211,255,214,214,214,255,243,243,243,255,252,252,252,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,246,246,246,255,222,222,222,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,233,233,233,255,246,246,246,255,240,240,240,255,252,252,252,255,250,250,250,255,246,246,246,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,252,252,252,255,226,226,226,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,224,224,224,255,250,250,250,255,250,250,250,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,246,246,246,255,241,241,241,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,250,250,250,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,250,250,250,255,219,219,219,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,234,234,234,255,253,253,253,255,248,248,248,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,252,252,252,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,231,231,231,255,246,246,246,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,213,213,213,255,229,229,229,255,246,246,246,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,250,250,250,255,221,221,221,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,249,249,249,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,242,242,242,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,233,233,233,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,219,219,219,255,248,248,248,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,248,248,248,255,246,246,246,255,250,250,250,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,245,245,245,255,240,240,240,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,226,226,226,255,246,246,246,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,251,251,251,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,248,248,248,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,249,249,249,255,248,248,248,255,248,248,248,255,233,233,233,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,212,212,212,255,249,249,249,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,245,245,245,255,234,234,234,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,218,218,218,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,226,226,226,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,231,231,231,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,246,246,246,255,242,242,242,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,253,253,253,255,242,242,242,255,246,246,246,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,242,242,242,255,211,211,211,255,211,211,211,255,211,211,211,255,220,220,220,255,248,248,248,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,236,236,236,255,222,222,222,255,253,253,253,255,251,251,251,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,248,248,248,255,211,211,211,255,211,211,211,255,211,211,211,255,241,241,241,255,244,244,244,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,243,243,243,255,211,211,211,255,222,222,222,255,248,248,248,255,246,246,246,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,235,235,235,255,213,213,213,255,214,214,214,255,248,248,248,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,231,231,231,255,211,211,211,255,239,239,239,255,244,244,244,255,240,240,240,255,247,247,247,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,249,249,249,255,240,240,240,255,245,245,245,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,219,219,219,255,212,212,212,255,250,250,250,255,240,240,240,255,240,240,240,255,246,246,246,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,254,254,254,255,241,241,241,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,249,249,249,255,212,212,212,255,233,233,233,255,246,246,246,255,240,240,240,255,240,240,240,255,246,246,246,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,246,246,246,255,240,240,240,255,214,214,214,255,211,211,211,255,250,250,250,255,241,241,241,255,240,240,240,255,240,240,240,255,247,247,247,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,249,249,249,255,223,223,223,255,211,211,211,255,211,211,211,255,211,211,211,255,249,249,249,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,239,239,239,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,249,249,249,255,240,240,240,255,240,240,240,255,246,246,246,255,251,251,251,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,217,217,217,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,250,250,250,255,246,246,246,255,252,252,252,255,236,236,236,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,250,250,250,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,224,224,224,255,255,255,255,255,240,240,240,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,240,240,240,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,224,224,224,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,253,253,253,255,249,249,249,255,251,251,251,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,223,223,223,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,238,238,238,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,243,243,243,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,235,235,235,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,230,230,230,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,221,221,221,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,245,245,245,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,231,231,231,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,216,216,216,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,225,225,225,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,234,234,234,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,244,244,244,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,250,250,250,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,237,237,237,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,245,245,245,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,234,234,234,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,236,236,236,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,214,214,214,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,239,239,239,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,251,251,251,255,213,213,213,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,235,235,235,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,232,232,232,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,249,249,249,255,212,212,212,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,226,226,226,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,242,242,242,255,245,245,245,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,247,247,247,255,218,218,218,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,234,234,234,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,250,250,250,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,243,243,243,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,241,241,241,255,234,234,234,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,225,225,225,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,215,215,215,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,248,248,248,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,246,246,246,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,237,237,237,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,243,243,243,255,228,228,228,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,240,240,240,255,244,244,244,255,222,222,222,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255,211,211,211,255 +/* @pjs preload="svg/blank_us_map.svg"; */ + +PShape usa; + +void setup() { + size(100,100); + smooth(); + usa = loadShape("svg/blank_us_map.svg"); + noLoop(); +} + +void draw() { + background(240); + shape(usa.getChild(6),-570,-100); + exit(); +} diff --git a/test/ref/svg/blank_us_map.svg b/test/ref/svg/blank_us_map.svg new file mode 100755 index 000000000..46ccbd39d --- /dev/null +++ b/test/ref/svg/blank_us_map.svg @@ -0,0 +1,326 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/ref/tests.js b/test/ref/tests.js index 5f0831816..40e3afe3b 100644 --- a/test/ref/tests.js +++ b/test/ref/tests.js @@ -114,6 +114,7 @@ var tests = [ { path: "pshape_svg.pde", tags: ["2D","SVG"], epsilonOverride: 0.07 }, { path: "shearx.pde", tags: ["2D"] }, { path: "sheary.pde", tags: ["2D"] }, + { path: "loadShape-child-nesting.pde", tags: ["2D","SVG"] }, { path: "loadShape.pde", tags: ["2D","SVG"], epsilonOverride: 0.06 }, { path: "loadShape2.pde", tags: ["2D","SVG"], epsilonOverride: 0.08 }, { path: "loadShape3.pde", tags: ["2D","SVG"], epsilonOverride: 0.07 }, @@ -205,7 +206,7 @@ var tests = [ { path: "text-unboxed-center-top.pde", tags:["2D", "Text"], epsilonOverride: 0.17 }, /* See ticket #1172 */ { path: "text-unboxed-center-top-3D.pde", tags:["3D", "Text"], knownFailureTicket: "750" }, { path: "text-unboxed-center-center.pde", tags:["2D", "Text"], epsilonOverride: 0.12, knownFailureTicket: "1684" }, /* See ticket #1172 */ - { path: "text-unboxed-center-center-3D.pde", tags:["3D", "Text"], knownFailureTicket: "750" }, + { path: "text-unboxed-center-center-3D.pde", tags:["3D", "Text"], knownFailureTicket: "750" }, { path: "text-unboxed-center-bottom.pde", tags:["2D", "Text"], epsilonOverride: 0.17 }, /* See ticket #1172 */ { path: "text-unboxed-center-bottom-3D.pde", tags:["3D", "Text"], knownFailureTicket: "750" }, { path: "text-unboxed-right-top.pde", tags:["2D", "Text"], epsilonOverride: 0.15 }, /* See ticket #1172 */ @@ -284,7 +285,7 @@ var tests = [ { path: "point_3D_smooth_beginShape.pde", tags: ["3D"], epsilonOverride: 0.14 }, { path: "point_3D_smooth_stroke.pde", tags: ["3D"], epsilonOverride: 0.14 }, { path: "point_3D_smooth_hint_off.pde", tags: ["3D"], epsilonOverride: 0.14 }, - + { path: "box.pde", tags: ["3D"], epsilonOverride: 0.18 }, { path: "box_scale_3D.pde", tags: ["3D"], epsilonOverride: 0.18 }, { path: "applyMatrix.pde", tags: ["3D"] }, From e714a5b2588074a04960c6bc205aa45de56b2481 Mon Sep 17 00:00:00 2001 From: davidleibovic Date: Sun, 27 Jan 2013 21:06:19 -0500 Subject: [PATCH 023/182] fix bug 1821 --- processing.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/processing.js b/processing.js index 89b7e796f..351aec43d 100755 --- a/processing.js +++ b/processing.js @@ -9571,15 +9571,16 @@ */ p.println = function(message) { var bufferLen = logBuffer.length; + var bufferMsg = ""; if (bufferLen) { - Processing.logger.log(logBuffer.join("")); + bufferMsg = logBuffer.join(""); logBuffer.length = 0; // clear log buffer } if (arguments.length === 0 && bufferLen === 0) { - Processing.logger.log(""); + Processing.logger.log(bufferMsg + ""); } else if (arguments.length !== 0) { - Processing.logger.log(message); + Processing.logger.log(bufferMsg + message); } }; /** From 94f397abf219cf020ec8ce235075078192f50115 Mon Sep 17 00:00:00 2001 From: davidleibovic Date: Sun, 27 Jan 2013 21:12:20 -0500 Subject: [PATCH 024/182] fix bug 1935 --- processing.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/processing.js b/processing.js index 89b7e796f..2a7785973 100755 --- a/processing.js +++ b/processing.js @@ -430,9 +430,6 @@ * @param {Object} obj The object to be iterated. */ var ObjectIterator = function(obj) { - if (obj.iterator instanceof Function) { - return obj.iterator(); - } if (obj instanceof Array) { // iterate through array items var index = -1; @@ -442,6 +439,8 @@ this.next = function() { return obj[index]; }; + } else if (obj.iterator instanceof Function) { + return obj.iterator(); } else { throw "Unable to iterate: " + obj; } From 2fdf7d510c395cb53957686be8569232f044b84a Mon Sep 17 00:00:00 2001 From: John Li Date: Thu, 31 Jan 2013 05:42:19 -0500 Subject: [PATCH 025/182] PVector additions with tests for p5 API parity [#1981] fromAngle, heading, lerp, magSq, random2D, random3D, rotate, setMag --- processing.js | 85 ++++++++++++++++++++++++- test/unit/PVector.pde | 140 ++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 218 insertions(+), 7 deletions(-) diff --git a/processing.js b/processing.js index 3ecb348ee..8f93af838 100755 --- a/processing.js +++ b/processing.js @@ -1141,6 +1141,33 @@ this.z = z || 0; } + PVector.fromAngle = function(angle, v) { + if (v === undef || v === null) { + v = new PVector(); + } + v.x = Math.cos(angle); + v.y = Math.sin(angle); + return v; + } + + PVector.random2D = function(v) { + return PVector.fromAngle(Math.random() * PConstants.TWO_PI, v); + } + + PVector.random3D = function(v) { + var angle = Math.random() * PConstants.TWO_PI; + var vz = Math.random() * 2 - 1; + var mult = Math.sqrt(1 - vz * vz); + var vx = mult * Math.cos(angle); + var vy = mult * Math.sin(angle); + if (v === undef || v === null) { + v = new PVector(vx, vy, vz); + } else { + v.set(vx, vy, vz); + } + return v; + } + PVector.dist = function(v1, v2) { return v1.dist(v2); }; @@ -1161,6 +1188,13 @@ return Math.acos(v1.dot(v2) / (v1.mag() * v2.mag())); }; + PVector.lerp = function(v1, v2, amt) { + // non-static lerp mutates object, but this version returns a new vector + var retval = new PVector(v1.x, v1.y, v1.z); + retval.lerp(v2, amt); + return retval; + } + // Common vector operations for PVector PVector.prototype = { set: function(v, y, z) { @@ -1183,6 +1217,24 @@ z = this.z; return Math.sqrt(x * x + y * y + z * z); }, + magSq: function() { + var x = this.x, + y = this.y, + z = this.z; + return (x * x + y * y + z * z); + }, + setMag: function(v_or_len, len) { + if (len === undef) { + len = v_or_len; + this.normalize(); + this.mult(len); + } else { + var v = v_or_len; + v.normalize(); + v.mult(len); + return v; + } + }, add: function(v, y, z) { if (arguments.length === 1) { this.x += v.x; @@ -1227,6 +1279,13 @@ this.z /= v.z; } }, + rotate: function(angle) { + var prev_x = this.x; + var c = Math.cos(angle); + var s = Math.sin(angle); + this.x = c * this.x - s * this.y; + this.y = s * prev_x + c * this.y; + }, dist: function(v) { var dx = this.x - v.x, dy = this.y - v.y, @@ -1247,6 +1306,27 @@ z * v.x - v.z * x, x * v.y - v.x * y); }, + lerp: function(v_or_x, amt_or_y, z, amt) { + // 3rd definition of lerp in this file... + function lerp_val(start, stop, amt) { + return start + (stop - start) * amt; + }; + var x, y; + if (arguments.length === 2) { + // given vector and amt + amt = amt_or_y; + x = v_or_x.x; + y = v_or_x.y; + z = v_or_x.z; + } else { + // given x, y, z and amt + x = v_or_x; + y = amt_or_y; + } + this.x = lerp_val(this.x, x, amt); + this.y = lerp_val(this.y, y, amt); + this.z = lerp_val(this.z, z, amt); + }, normalize: function() { var m = this.mag(); if (m > 0) { @@ -1259,9 +1339,12 @@ this.mult(high); } }, - heading2D: function() { + heading: function() { return (-Math.atan2(-this.y, this.x)); }, + heading2D: function() { + return this.heading(); + }, toString: function() { return "[" + this.x + ", " + this.y + ", " + this.z + "]"; }, diff --git a/test/unit/PVector.pde b/test/unit/PVector.pde index 9caca552c..83700ac5b 100644 --- a/test/unit/PVector.pde +++ b/test/unit/PVector.pde @@ -1,3 +1,5 @@ +var round_tolerance = 0.00001; + // SET PVector v = new PVector(0.0, 0.0, 0.0); v.set(20.0, 30.0, 40.0); @@ -14,24 +16,28 @@ _checkEqual(v.array(), [20.0, 30.0, 40.0]); _checkEqual([v2.x, v2.y, v2.z], [10.0, 30.0, 40.0]); // MAG -_checkEqual(v.mag(), 53.851646, 0.00001); +float m = 53.851648; +_checkEqual(v.mag(), m, round_tolerance); + +// MAGSQ +_checkEqual(v.magSq(), m*m, Math.sqrt(round_tolerance)); PVector v3 = new PVector(10, 20, 2); PVector v4 = v3.get(); // NORMALIZE v3.normalize(); -_checkEqual([v3.x, v3.y, v3.z], [ 0.4454354, 0.8908708, 0.089087084 ], 0.00001); +_checkEqual([v3.x, v3.y, v3.z], [ 0.4454354, 0.8908708, 0.089087084 ], round_tolerance); // LIMIT v4.limit(5); -_checkEqual([v4.x, v4.y, v4.z], [ 2.2271771, 4.4543543, 0.4454354 ], 0.00001); +_checkEqual([v4.x, v4.y, v4.z], [ 2.2271771, 4.4543543, 0.4454354 ], round_tolerance); // ANGLE BETWEEN PVector v1 = new PVector(10, 20); PVector v2 = new PVector(60, 80); float a = PVector.angleBetween(v1, v2); -_checkEqual(degrees(a), 10.304827, 0.0001); +_checkEqual(degrees(a), 10.304846, round_tolerance); // CROSS PVector v1 = new PVector(10, 20, 2); @@ -48,7 +54,7 @@ _checkEqual(d, 2200.0); PVector v1 = new PVector(10, 20, 0); PVector v2 = new PVector(60, 80, 0); float d = v1.dist(v2); -_checkEqual(d, 78.10249, 0.0001); +_checkEqual(d, 78.10249, round_tolerance); // ADD PVector v1, v2; @@ -78,7 +84,7 @@ v2.div(v1); _checkEqual(v2.x, 0.625); _checkEqual(v2.y, 2.5); -_checkEqual(v2.z, 0.6666667, 0.00001); +_checkEqual(v2.z, 0.6666667, round_tolerance); PVector v3 = PVector.div(v1, v2); @@ -109,3 +115,125 @@ PVector v2 = new PVector(); v2.set(v1); _checkEqual(v1.array(), v2.array()); + +// FROM ANGLE +PVector v1 = PVector.fromAngle(HALF_PI); +_checkEqual(v1.array(), [0, 1, 0], round_tolerance); + +v1 = PVector.fromAngle(PI); +_checkEqual(v1.array(), [-1, 0, 0], round_tolerance); + +float over_root_2 = 1. / Math.sqrt(2); +PVector.fromAngle(PI/4, v1); // specifying target +_checkEqual(v1.array(), [over_root_2, over_root_2, 0], round_tolerance); + +PVector v2 = PVector.fromAngle(3*PI/4, null); // should return new vector +_checkEqual(v2.array(), [-over_root_2, over_root_2, 0], round_tolerance); + +// RANDOM2D +PVector v1 = PVector.random2D(); +PVector v2 = PVector.random2D(); +PVector v3 = new PVector(); +_checkEqual(v1.z, 0); +_checkEqual(v2.z, 0); +_checkNotEqual(v1.array(), v2.array()); +_checkNotEqual(v1.array(), v3.array()); +_checkNotEqual(v2.array(), v3.array()); + +PVector v4 = new PVector(v1.x, v1.y, v1.z); +PVector.random2D(v4); // pass in target +// should have changed from initial v1 values +_checkNotEqual(v1.array(), v4.array()); + +PVector v5 = PVector.random2D(null); // should return new vector +_checkEqual(v5.z, 0); +_checkNotEqual(v4.array(), v5.array()); + +// RANDOM3D +PVector v1 = PVector.random3D(); +PVector v2 = PVector.random3D(); +PVector v3 = new PVector(); +_checkNotEqual(v1.array(), v2.array()); +_checkNotEqual(v1.array(), v3.array()); +_checkNotEqual(v2.array(), v3.array()); + +PVector v4 = new PVector(v1.x, v1.y, v1.z); +PVector.random3D(v4); // pass in target +// should have changed from initial v1 values +_checkNotEqual(v1.array(), v4.array()); + +PVector v5 = PVector.random3D(null); // should return new vector +_checkNotEqual(v4.array(), v5.array()); + +// LERP +PVector v1 = new PVector(10, 20, 30); +PVector v2 = new PVector(20, 30, 40); +PVector vlerp1 = PVector.lerp(v1, v2, 0); +PVector vlerp2 = PVector.lerp(v1, v2, 0.5); +PVector vlerp3 = PVector.lerp(v1, v2, 1); +_checkEqual(vlerp1.array(), v1.array()); +_checkEqual(vlerp2.array(), [15, 25, 35]); +_checkEqual(vlerp3.array(), v2.array()); + +// non-static version 1, another vector +v1.lerp(v2, 0.5); // changes v1 +_checkEqual(vlerp2.array(), v1.array()); + +// non-static version 2, xyz values +PVector v3 = new PVector(-v2.x, -v2.y, -v2.z); +v3.lerp(v2.x, v2.y, v2.z, 0.5); +_checkEqual(v3.array(), [0, 0, 0]); + +// SETMAG +void setMagTest(PVector v, float m) { + v.setMag(m); + _checkEqual(v.mag(), m, round_tolerance); +} +void setMagNoop(PVector v) { + float[] a = v.array(); + setMagTest(v, v.mag()); + _checkEqual(a, v.array(), round_tolerance); +} +PVector v1 = new PVector(-1, 0, 0); +setMagTest(v1, 10); +_checkEqual(v1.array(), [-10, 0, 0]); + +setMagNoop(new PVector(-0.05, 2013, 2.718), 10); +setMagNoop(new PVector(578, 123, 432)); +setMagNoop(PVector.random3D()); + +// vector arg version +void setMagTest2(PVector unused, PVector v, float m) { + unused.setMag(v, m); + _checkEqual(v.mag(), m, round_tolerance); +} +setMagTest2(v1, new PVector(-1, -1, -1), 1); +setMagTest2(v1, new PVector(9812, 38, 1.65), 193); +// according to p5 docs, giving setMag a null first argument should +// cause it to create a new vector. however, this will have a +// magnitude of 0, regardless of the second argument (this is even the +// case in p5). that's probably not correct, so no test for it. + +// ROTATE +PVector v1 = new PVector(100, 0, 0); +v1.rotate(HALF_PI); +_checkEqual(v1.array(), [0, 100, 0], round_tolerance); +v1.rotate(PI); +_checkEqual(v1.array(), [0, -100, 0], round_tolerance); +v1.rotate(-1.5*PI); +_checkEqual(v1.array(), [100, 0, 0], round_tolerance); +v1.rotate(QUARTER_PI); +_checkEqual(v1.array(), [100*over_root_2, 100*over_root_2, 0], round_tolerance); + +// HEADING +void headingTest(float angle) { + // angle needs to be between [-PI, PI]. otherwise, the numerical + // values may be off by a multiple of 2PI. + PVector v = PVector.fromAngle(angle); + _checkEqual(v.heading(), angle, round_tolerance); +} +_checkEqual((new PVector(128, 0, 0)).heading(), 0); +_checkEqual((new PVector(0, 0.1, 0)).heading(), HALF_PI); +headingTest(Math.random() * TWO_PI - PI); +headingTest(Math.random() * TWO_PI - PI); +headingTest(Math.random() * TWO_PI - PI); From b84981198ff757ef02df9d7b7851ce45d3cfac2c Mon Sep 17 00:00:00 2001 From: John Li Date: Fri, 1 Feb 2013 19:10:08 -0500 Subject: [PATCH 026/182] comment cleanup --- processing.js | 1 - 1 file changed, 1 deletion(-) diff --git a/processing.js b/processing.js index 8f93af838..5f1bef195 100755 --- a/processing.js +++ b/processing.js @@ -1307,7 +1307,6 @@ x * v.y - v.x * y); }, lerp: function(v_or_x, amt_or_y, z, amt) { - // 3rd definition of lerp in this file... function lerp_val(start, stop, amt) { return start + (stop - start) * amt; }; From 24de2db392dbb838afdf960ea568b69c95ec4edd Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sat, 30 Mar 2013 09:52:09 -0400 Subject: [PATCH 027/182] updated failing unit test --- test/unit/svgShape1.pde | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/test/unit/svgShape1.pde b/test/unit/svgShape1.pde index f7942d8d5..0d0f56963 100644 --- a/test/unit/svgShape1.pde +++ b/test/unit/svgShape1.pde @@ -13,21 +13,23 @@ XMLHttpRequest.prototype = { PShape s1 = loadShape("test1.svg"); _checkEqual(819, s1.height); _checkEqual(1, s1.children[0].children.length); -var s1_g = s1.children[0].children[0]; + +var s1_g = s1.children[0]; _checkEqual(0, s1_g.family); // GROUP -_checkEqual(1, s1_g.children[0].children.length); -var s1_g_path = s1_g.children[0].children[0]; +_checkEqual(1, s1_g.children.length); + +var s1_g_path = s1_g.children[0]; _checkEqual(21, s1_g_path.family); // PATH -_checkEqual(0, s1_g_path.children[0].children.length); +_checkEqual(0, s1_g_path.children.length); _checkEqual([[35,25],[256,10]], s1_g_path.vertices); _checkEqual([0, 0], s1_g_path.vertexCodes); PShape s2 = loadShape("test2.svg"); _checkEqual(200, s2.width); -_checkEqual(1, s2.children[0].children.length); -var s2_rect = s2.children[0].children[0]; +_checkEqual(1, s2.children.length); + +var s2_rect = s2.children[0]; _checkEqual(1, s2_rect.family); // PRIMITIVE _checkEqual(30, s2_rect.kind); // RECT -_checkEqual(0, s2_rect.children[0].children.length); +_checkEqual(0, s2_rect.children.length); _checkEqual([10,10,180,180], s2_rect.params); - From 906c8861502ab3eef3ce8ac2f8ae5e7c2bdf6887 Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sat, 30 Mar 2013 10:17:48 -0400 Subject: [PATCH 028/182] emergency lint fix --- processing.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/processing.js b/processing.js index 4024d929d..e81f681d7 100755 --- a/processing.js +++ b/processing.js @@ -29,7 +29,7 @@ // document.head polyfill for the benefit of Firefox 3.6 if (!document.head) { - document.getElementsByTagName('head')[0]; + document.head = document.getElementsByTagName('head')[0]; } // Typed Arrays: fallback to WebGL arrays or Native JS arrays if unavailable @@ -1143,11 +1143,11 @@ v.x = Math.cos(angle); v.y = Math.sin(angle); return v; - } + }; PVector.random2D = function(v) { return PVector.fromAngle(Math.random() * PConstants.TWO_PI, v); - } + }; PVector.random3D = function(v) { var angle = Math.random() * PConstants.TWO_PI; @@ -1161,7 +1161,7 @@ v.set(vx, vy, vz); } return v; - } + }; PVector.dist = function(v1, v2) { return v1.dist(v2); @@ -1188,7 +1188,7 @@ var retval = new PVector(v1.x, v1.y, v1.z); retval.lerp(v2, amt); return retval; - } + }; // Common vector operations for PVector PVector.prototype = { @@ -1302,7 +1302,7 @@ x * v.y - v.x * y); }, lerp: function(v_or_x, amt_or_y, z, amt) { - function lerp_val(start, stop, amt) { + var lerp_val = function(start, stop, amt) { return start + (stop - start) * amt; }; var x, y; From 67a092cca45ec16ee66217dfd5a5e67b035c05f4 Mon Sep 17 00:00:00 2001 From: Mike Kamermans Date: Sun, 16 Jun 2013 12:09:29 -0400 Subject: [PATCH 029/182] node compile branch --- .gitignore | 9 +- .gitmodules | 3 - Gruntfile.js | 26 + Makefile | 230 - README.md | 151 +- build.js | 22 + AUTHORS => bundle/AUTHORS | 0 CHANGELOG => bundle/CHANGELOG | 0 LICENSE => bundle/LICENSE | 0 LICENSE-HEADER => bundle/LICENSE-HEADER | 0 example.html | 91 - example.pde | 18 - examples/basic/additivewave.html | 143 - examples/basic/alphamask.html | 65 - examples/basic/arctangent.html | 139 - examples/basic/arm.html | 82 - examples/basic/array.html | 71 - examples/basic/array2d.html | 62 - examples/basic/arrayobjects.html | 151 - examples/basic/backgroundimage.html | 72 - examples/basic/bezier.html | 40 - examples/basic/bezierellipse.html | 210 - examples/basic/brightness.html | 68 - examples/basic/charactersstrings.html | 151 - examples/basic/clock.html | 68 - examples/basic/colorwheel.html | 156 - examples/basic/compositeobjects.html | 215 - examples/basic/conditionals1.html | 53 - examples/basic/conditionals2.html | 56 - examples/basic/constrain.html | 86 - examples/basic/coordinates.html | 86 - examples/basic/creategraphics.html | 69 - examples/basic/createimage.html | 54 - examples/basic/creating.html | 58 - examples/basic/data/brugges.jpg | Bin 34371 -> 0 bytes examples/basic/data/cait.jpg | Bin 7920 -> 0 bytes examples/basic/data/construct.jpg | Bin 34699 -> 0 bytes examples/basic/data/eames.jpg | Bin 44496 -> 0 bytes examples/basic/data/jelly.jpg | Bin 28211 -> 0 bytes examples/basic/data/mask.jpg | Bin 2825 -> 0 bytes examples/basic/data/milan_rubbish.jpg | Bin 19754 -> 0 bytes examples/basic/data/rathausFrog.jpg | Bin 8342 -> 0 bytes examples/basic/data/sky.jpg | Bin 3766 -> 0 bytes examples/basic/data/sunflower.jpg | Bin 36656 -> 0 bytes examples/basic/data/teddy.gif | Bin 746 -> 0 bytes examples/basic/data/test.jpg | Bin 2792 -> 0 bytes examples/basic/data/wash.jpg | Bin 34685 -> 0 bytes examples/basic/datatypeconversion.html | 60 - examples/basic/displaying.html | 37 - examples/basic/distance1d.html | 105 - examples/basic/distance2d.html | 64 - examples/basic/doublerandom.html | 44 - examples/basic/easing.html | 84 - examples/basic/embeddediteration.html | 53 - examples/basic/embeddedlinks.html | 146 - examples/basic/functions.html | 71 - examples/basic/graphing2dequation.html | 86 - examples/basic/hue.html | 67 - examples/basic/incrementdecrement.html | 98 - examples/basic/index.html | 125 - examples/basic/inheritance.html | 160 - examples/basic/integersfloats.html | 75 - examples/basic/iteration.html | 97 - examples/basic/keyboard.html | 84 - examples/basic/keyboardfunctions.html | 181 - examples/basic/letters.html | 126 - examples/basic/lineargradient.html | 149 - examples/basic/loadingimages.html | 32 - examples/basic/logicaloperators.html | 89 - examples/basic/loop.html | 83 - examples/basic/milliseconds.html | 56 - examples/basic/modulo.html | 67 - examples/basic/mouse1d.html | 105 - examples/basic/mouse2d.html | 51 - examples/basic/mousefunctions.html | 141 - examples/basic/mouseoverandout.html | 56 - examples/basic/mousepress.html | 50 - examples/basic/mousesignals.html | 112 - examples/basic/multipleconstructors.html | 98 - examples/basic/neighborhood.html | 604 - examples/basic/noise1d.html | 77 - examples/basic/noise2d.html | 95 - examples/basic/noise3d.html | 108 - examples/basic/noisewave.html | 125 - examples/basic/noloop.html | 67 - examples/basic/objects.html | 148 - examples/basic/operatorprecedence.html | 111 - examples/basic/piechart.html | 50 - examples/basic/pointillism.html | 71 - examples/basic/pointslines.html | 69 - examples/basic/polartocartesian.html | 101 - examples/basic/radialgradient.html | 120 - examples/basic/random.html | 42 - examples/basic/reading.html | 91 - examples/basic/recursion.html | 69 - examples/basic/recursion2.html | 69 - examples/basic/redraw.html | 75 - examples/basic/relativity.html | 77 - examples/basic/rotate.html | 78 - examples/basic/saturation.html | 68 - examples/basic/scale.html | 80 - examples/basic/setupdraw.html | 64 - examples/basic/shapeprimitives.html | 43 - examples/basic/simplecurves.html | 166 - examples/basic/sine.html | 97 - examples/basic/sinecosine.html | 120 - examples/basic/sinewave.html | 115 - examples/basic/sprite.html | 96 - examples/basic/statementscomments.html | 43 - examples/basic/storinginput.html | 83 - examples/basic/translate.html | 86 - examples/basic/transparency.html | 66 - examples/basic/triangleflower.html | 92 - examples/basic/trianglestrip.html | 73 - examples/basic/truefalse.html | 71 - examples/basic/variables.html | 52 - examples/basic/variablescope.html | 121 - examples/basic/vertices.html | 94 - examples/basic/wavegradient.html | 75 - examples/basic/widthheight.html | 38 - examples/basic/words.html | 65 - examples/custom/data/dirt.jpg | Bin 34606 -> 0 bytes examples/custom/data/pollockShimmering.gif | Bin 2451 -> 0 bytes examples/custom/fullscreen.html | 21 - examples/custom/index.html | 21 - examples/custom/intersect.html | 247 - examples/custom/molten.html | 295 - examples/custom/snake.html | 155 - examples/custom/substrate.html | 571 - examples/js/3d.html | 124 - examples/js/compile-lib.html | 53 - examples/js/imagecache-js.html | 94 - examples/js/instancelib.js | 30 - examples/js/libraries.html | 52 - examples/js/pjs.png | Bin 31193 -> 0 bytes examples/js/simple.html | 64 - examples/js/simpler.html | 59 - examples/js/sketch-event-hooks.html | 87 - examples/js/staticlib.js | 24 - examples/screens/Picture 14.png | Bin 128722 -> 0 bytes examples/screens/Picture 15.png | Bin 198938 -> 0 bytes examples/screens/Picture 16.png | Bin 7206 -> 0 bytes examples/screens/Picture 17.png | Bin 10284 -> 0 bytes examples/screens/Picture 18.png | Bin 18686 -> 0 bytes examples/screens/Picture 19.png | Bin 11609 -> 0 bytes examples/screens/Picture 20.png | Bin 38380 -> 0 bytes examples/screens/Picture 21.png | Bin 9273 -> 0 bytes examples/screens/Picture 22.png | Bin 60573 -> 0 bytes examples/screens/Picture 23.png | Bin 4828 -> 0 bytes examples/screens/Picture 24.png | Bin 4600 -> 0 bytes examples/screens/Picture 25.png | Bin 18629 -> 0 bytes examples/screens/Picture 26.png | Bin 5222 -> 0 bytes examples/screens/Picture 27.png | Bin 4307 -> 0 bytes examples/screens/Picture 28.png | Bin 4791 -> 0 bytes examples/screens/Picture 29.png | Bin 8930 -> 0 bytes examples/screens/Picture 30.png | Bin 5334 -> 0 bytes examples/screens/Picture 31.png | Bin 5954 -> 0 bytes examples/screens/Picture 32.png | Bin 5786 -> 0 bytes examples/screens/Picture 33.png | Bin 6342 -> 0 bytes examples/screens/Picture 34.png | Bin 28014 -> 0 bytes examples/screens/Picture 35.png | Bin 81901 -> 0 bytes examples/screens/Picture 36.png | Bin 5143 -> 0 bytes examples/screens/Picture 37.png | Bin 6482 -> 0 bytes examples/screens/Picture 38.png | Bin 59565 -> 0 bytes examples/screens/Picture 39.png | Bin 42648 -> 0 bytes examples/screens/Picture 40.png | Bin 10527 -> 0 bytes examples/screens/Picture 41.png | Bin 4797 -> 0 bytes examples/screens/Picture 42.png | Bin 16285 -> 0 bytes examples/screens/Picture 43.png | Bin 9298 -> 0 bytes examples/screens/Picture 44.png | Bin 4638 -> 0 bytes examples/screens/Picture 45.png | Bin 7697 -> 0 bytes examples/screens/Picture 46.png | Bin 6618 -> 0 bytes examples/screens/Picture 47.png | Bin 14539 -> 0 bytes examples/screens/Picture 48.png | Bin 7631 -> 0 bytes examples/screens/Picture 49.png | Bin 9028 -> 0 bytes examples/screens/Picture 50.png | Bin 11832 -> 0 bytes examples/screens/Picture 51.png | Bin 16326 -> 0 bytes examples/screens/Picture 52.png | Bin 11718 -> 0 bytes examples/seneca/Processing.reload/index.html | 51 - examples/seneca/Processing.reload/sketch1.pde | 1 - examples/seneca/Processing.reload/sketch2.pde | 1 - examples/seneca/Processing.reload/sketch3.pde | 1 - examples/seneca/Processing.reload/sketch4.pde | 1 - examples/seneca/Processing.reload/sketch5.pde | 1 - examples/seneca/Processing.reload/sketch6.pde | 1 - examples/seneca/XMLElement/menu.xml | 17 - examples/seneca/XMLElement/sites.xml | 5 - examples/seneca/XMLElement/sites2.xml | 7 - .../seneca/XMLElement/xmlElementAddChild.html | 72 - .../seneca/XMLElement/xmlElementEquals.html | 47 - .../seneca/XMLElement/xmlElementGetChild.html | 56 - .../XMLElement/xmlElementGetChildCount.html | 44 - .../XMLElement/xmlElementGetContent.html | 46 - .../seneca/XMLElement/xmlElementGetName.html | 62 - .../XMLElement/xmlElementInsertChild.html | 74 - .../XMLElement/xmlElementListChildren.html | 48 - .../XMLElement/xmlElementRemoveAttribute.html | 56 - .../XMLElement/xmlElementRemoveChild.html | 67 - .../XMLElement/xmlElementRemoveChild2.html | 67 - .../xmlElementRemoveChildAtIndex.html | 63 - .../XMLElement/xmlElementSetAttribute.html | 56 - examples/seneca/arrayCopy/arrayCopy.htm | 106 - examples/seneca/arrayCopy/arrayCopy.pjs | 26 - examples/seneca/begin-endShape/2d/774.html | 2 - examples/seneca/begin-endShape/2d/774.pjs | 134 - .../endShape-2dtest-lines.html | 63 - .../endShape-2dtest-lines.pjs | 46 - .../2d/endShape-2dtest-lines/p5_result.png | Bin 1112 -> 0 bytes .../endShape-2dtest-noclose.html | 45 - .../endShape-2dtest-noclose.pjs | 29 - .../2d/endShape-2dtest-noclose/p5_result.png | Bin 1681 -> 0 bytes .../endShape-2dtest-nomod.html | 45 - .../endShape-2dtest-nomod.pjs | 29 - .../2d/endShape-2dtest-nomod/p5_result.png | Bin 1703 -> 0 bytes .../endShape-2dtest-nomodnofill.html | 47 - .../endShape-2dtest-nomodnofill.pjs | 30 - .../endShape-2dtest-nomodnofill/p5_result.png | Bin 1685 -> 0 bytes .../endShape-2dtest-points.html | 46 - .../endShape-2dtest-points.pjs | 29 - .../2d/endShape-2dtest-points/p5_result.png | Bin 1141 -> 0 bytes .../endShape-2dtest-polygon.html | 64 - .../endShape-2dtest-polygon.pjs | 46 - .../2d/endShape-2dtest-polygon/p5_result.png | Bin 1568 -> 0 bytes .../endShape-2dtest-quads.html | 128 - .../endShape-2dtest-quads.pjs | 111 - .../2d/endShape-2dtest-quads/p5_result.png | Bin 3609 -> 0 bytes .../endShape-2dtest-quadstrip.html | 129 - .../endShape-2dtest-quadstrip.pjs | 111 - .../endShape-2dtest-quadstrip/p5_result.png | Bin 4371 -> 0 bytes .../endShape-2dtest-trianglefan.html | 108 - .../endShape-2dtest-trianglefan.pjs | 91 - .../endShape-2dtest-trianglefan/p5_result.png | Bin 4858 -> 0 bytes .../endShape-2dtest-triangles.html | 128 - .../endShape-2dtest-triangles.pjs | 91 - .../endShape-2dtest-triangles/p5_result.png | Bin 3850 -> 0 bytes .../endShape-2dtest-trianglestrip.html | 118 - .../endShape-2dtest-trianglestrip.pjs | 101 - .../p5_result.png | Bin 5631 -> 0 bytes .../endShape-3dtest-lines.html | 65 - .../endShape-3dtest-lines.pjs | 47 - .../3d/endShape-3dtest-lines/p5_result.png | Bin 1214 -> 0 bytes .../endShape-3dtest-noclose.html | 47 - .../endShape-3dtest-noclose.pjs | 30 - .../3d/endShape-3dtest-noclose/p5_result.png | Bin 1601 -> 0 bytes .../endShape-3dtest-nomod.html | 47 - .../endShape-3dtest-nomod.pjs | 30 - .../3d/endShape-3dtest-nomod/p5_result.png | Bin 1541 -> 0 bytes .../endShape-3dtest-nomodnofill.html | 49 - .../endShape-3dtest-nomodnofill.pjs | 31 - .../endShape-3dtest-nomodnofill/p5_result.png | Bin 1654 -> 0 bytes .../endShape-3dtest-points.html | 47 - .../endShape-3dtest-points.pjs | 30 - .../3d/endShape-3dtest-points/p5_result.png | Bin 1154 -> 0 bytes .../endShape-3dtest-polygon.html | 65 - .../endShape-3dtest-polygon.pjs | 47 - .../3d/endShape-3dtest-polygon/p5_result.png | Bin 1578 -> 0 bytes .../endShape-3dtest-quads.html | 129 - .../endShape-3dtest-quads.pjs | 112 - .../3d/endShape-3dtest-quads/p5_result.png | Bin 5690 -> 0 bytes .../endShape-3dtest-quadstrip.html | 130 - .../endShape-3dtest-quadstrip.pjs | 112 - .../endShape-3dtest-quadstrip/p5_result.png | Bin 4470 -> 0 bytes .../endShape-3dtest-trianglefan.html | 109 - .../endShape-3dtest-trianglefan.pjs | 92 - .../endShape-3dtest-trianglefan/p5_result.png | Bin 5416 -> 0 bytes .../endShape-3dtest-triangles.html | 129 - .../endShape-3dtest-triangles.pjs | 92 - .../endShape-3dtest-triangles/p5_result.png | Bin 3245 -> 0 bytes .../endShape-3dtest-trianglestrip.html | 119 - .../endShape-3dtest-trianglestrip.pjs | 102 - .../p5_result.png | Bin 6280 -> 0 bytes examples/seneca/bezier/bezier.html | 46 - examples/seneca/bezier/bezier.pjs | 6 - examples/seneca/bezier/bezier2.pjs | 6 - examples/seneca/bezier/bezier_.gif | Bin 280 -> 0 bytes examples/seneca/bezier/bezier_2.gif | Bin 292 -> 0 bytes examples/seneca/bezier3D/bezier.html | 48 - examples/seneca/bezier3D/bezier.pjs | 7 - examples/seneca/bezier3D/bezier2.pjs | 7 - examples/seneca/bezier3D/bezier_.gif | Bin 280 -> 0 bytes examples/seneca/bezier3D/bezier_2.gif | Bin 292 -> 0 bytes examples/seneca/bezier3D/jellyfish.html | 210 - examples/seneca/bezier3D/jellyfish.pjs | 193 - examples/seneca/bezierDetail/bezierDetail.gif | Bin 386 -> 0 bytes .../seneca/bezierDetail/bezierDetail.html | 34 - examples/seneca/bezierDetail/bezierDetail.pjs | 16 - .../seneca/bezierTangent/bezierTangent.html | 60 - .../seneca/bezierVertex/bezierVertex.html | 53 - examples/seneca/bezierVertex/bezierVertex.pjs | 36 - .../seneca/bezierVertex/bezierVertex1.pjs | 6 - .../seneca/bezierVertex/bezierVertex2.html | 44 - .../seneca/bezierVertex/bezierVertex2.pjs | 6 - .../seneca/bezierVertex/bezierVertex_.gif | Bin 236 -> 0 bytes .../seneca/bezierVertex/bezierVertex_2.gif | Bin 335 -> 0 bytes examples/seneca/bezierVertex/p5_result.png | Bin 1355 -> 0 bytes .../seneca/bezierVertex3D/bezierVertex.html | 53 - .../seneca/bezierVertex3D/bezierVertex.pjs | 36 - .../seneca/bezierVertex3D/bezierVertex1.pjs | 7 - .../seneca/bezierVertex3D/bezierVertex2.html | 46 - .../seneca/bezierVertex3D/bezierVertex2.pjs | 7 - .../seneca/bezierVertex3D/bezierVertex_.gif | Bin 236 -> 0 bytes .../seneca/bezierVertex3D/bezierVertex_2.gif | Bin 335 -> 0 bytes examples/seneca/bezierVertex3D/p5_result.png | Bin 1355 -> 0 bytes examples/seneca/binary/binary.html | 544 - examples/seneca/blendColor/blendColor.htm | 11 - examples/seneca/blendColor/blendColor.pjs | 162 - examples/seneca/blendColor/swatches.png | Bin 17300 -> 0 bytes examples/seneca/bug1116/index.html | 3 - examples/seneca/bug1116/test.pjs | 14 - examples/seneca/bug277/test1/test.html | 42 - examples/seneca/bug277/test1/test.pjs | 14 - examples/seneca/bug277/test2/test.html | 42 - examples/seneca/bug277/test2/test.pjs | 14 - examples/seneca/bug277/test3/test.html | 45 - examples/seneca/bug277/test3/test.pjs | 9 - examples/seneca/bug277/test4/test.html | 47 - examples/seneca/bug277/test4/test.pjs | 11 - examples/seneca/bug277/test5/test.html | 40 - examples/seneca/bug277/test5/test.pjs | 12 - examples/seneca/bug277/test6/test.html | 41 - examples/seneca/bug277/test6/test.pjs | 14 - examples/seneca/bug596/test1/p5_result.jpg | Bin 5956 -> 0 bytes examples/seneca/bug596/test1/test.html | 32 - examples/seneca/bug596/test1/test.pjs | 7 - examples/seneca/bug596/test2/p5_result.jpg | Bin 5956 -> 0 bytes examples/seneca/bug596/test2/test.html | 32 - examples/seneca/bug596/test2/test.pjs | 7 - examples/seneca/bug597/test1/p5_result.jpg | Bin 4436 -> 0 bytes examples/seneca/bug597/test1/test.html | 34 - examples/seneca/bug597/test1/test.pjs | 9 - examples/seneca/bug597/test2/p5_result.jpg | Bin 4436 -> 0 bytes examples/seneca/bug597/test2/test.html | 32 - examples/seneca/bug597/test2/test.pjs | 7 - examples/seneca/bug597/test3/p5_result.jpg | Bin 4784 -> 0 bytes examples/seneca/bug597/test3/test.html | 39 - examples/seneca/bug597/test3/test.pjs | 14 - examples/seneca/bug597/test4/p5_result.jpg | Bin 7284 -> 0 bytes examples/seneca/bug597/test4/test.html | 39 - examples/seneca/bug597/test4/test.pjs | 13 - .../endShape-3dtest-lines.html | 55 - .../endShape-3dtest-lines.pjs | 37 - .../endShape-3dtest-lines/p5_result.jpg | Bin 7560 -> 0 bytes .../endShape-3dtest-noclose.html | 42 - .../endShape-3dtest-noclose.pjs | 26 - .../endShape-3dtest-noclose/p5_result.jpg | Bin 8729 -> 0 bytes .../endShape-3dtest-nomod.html | 42 - .../endShape-3dtest-nomod.pjs | 26 - .../endShape-3dtest-nomod/p5_result.jpg | Bin 16546 -> 0 bytes .../endShape-3dtest-nomod.html | 42 - .../endShape-3dtest-nomod.pjs | 26 - .../endShape-3dtest-nomodnofill/p5_result.jpg | Bin 8331 -> 0 bytes .../endShape-3dtest-points.html | 40 - .../endShape-3dtest-points.pjs | 24 - .../endShape-3dtest-points.html | 32 - .../endShape-3dtest-points.pjs | 15 - .../endShape-3dtest-points_2/p5_result.jpg | Bin 286681 -> 0 bytes .../endShape-3dtest-polygon.html | 55 - .../endShape-3dtest-polygon.pjs | 39 - .../endShape-3dtest-polygon/p5_result.jpg | Bin 9813 -> 0 bytes .../endShape-3dtest-quads.html | 99 - .../endShape-3dtest-quads.pjs | 83 - .../endShape-3dtest-quads/p5_result.jpg | Bin 45292 -> 0 bytes .../endShape-3dtest-quadstrip.html | 105 - .../endShape-3dtest-quadstrip.pjs | 87 - .../endShape-3dtest-quadstrip/p5_result.png | Bin 11215 -> 0 bytes .../endShape-3dtest-trianglefan.html | 100 - .../endShape-3dtest-trianglefan.pjs | 84 - .../endShape-3dtest-trianglefan/p_result.jpg | Bin 65356 -> 0 bytes .../endShape-3dtest-triangles.html | 93 - .../endShape-3dtest-triangles.pjs | 77 - .../endShape-3dtest-triangles/p5_result.png | Bin 14032 -> 0 bytes .../endShape-3dtest-trianglestrip.html | 148 - .../endShape-3dtest-trianglestrip.pjs | 131 - .../p5_result.jpg | Bin 83271 -> 0 bytes examples/seneca/bug634/test1/p5_result.jpg | Bin 10034 -> 0 bytes examples/seneca/bug634/test1/test.html | 41 - examples/seneca/bug634/test1/test.pjs | 16 - examples/seneca/bug634/test2/test.html | 25 - examples/seneca/bug634/test2/test.pjs | 68 - examples/seneca/bug634/test3/p5_result.jpg | Bin 17470 -> 0 bytes examples/seneca/bug634/test3/test.html | 26 - examples/seneca/bug634/test3/test.pjs | 42 - examples/seneca/bug634/test4/p5_result.jpg | Bin 17388 -> 0 bytes examples/seneca/bug634/test4/test.html | 78 - examples/seneca/bug634/test4/test.pjs | 53 - examples/seneca/bug634/test5/p5_result.jpg | Bin 27916 -> 0 bytes examples/seneca/bug634/test5/test.html | 46 - examples/seneca/bug634/test5/test.pjs | 21 - examples/seneca/bug634/test6/p5_result.jpg | Bin 24362 -> 0 bytes examples/seneca/bug634/test6/test.html | 65 - examples/seneca/bug634/test6/test.pjs | 40 - examples/seneca/bug634/test7/test.html | 57 - examples/seneca/bug634/test7/test.pjs | 29 - .../seneca/bug650/tests/noclose/berlin-1.jpg | Bin 16554 -> 0 bytes .../seneca/bug650/tests/noclose/noclose.html | 60 - .../seneca/bug650/tests/noclose/noclose.pjs | 36 - .../seneca/bug650/tests/noclose/p5_result.jpg | Bin 22979 -> 0 bytes .../seneca/bug650/tests/nomod/berlin-1.jpg | Bin 16554 -> 0 bytes examples/seneca/bug650/tests/nomod/nomod.html | 59 - examples/seneca/bug650/tests/nomod/nomod.pjs | 35 - .../seneca/bug650/tests/nomod/p5_result.jpg | Bin 23381 -> 0 bytes .../seneca/bug650/tests/polygon/berlin-1.jpg | Bin 16554 -> 0 bytes .../seneca/bug650/tests/polygon/p5_result.jpg | Bin 20369 -> 0 bytes .../seneca/bug650/tests/polygon/polygon.html | 73 - .../seneca/bug650/tests/polygon/polygon.pjs | 49 - .../bug650/tests/quad_strip/berlin-1.jpg | Bin 16554 -> 0 bytes .../bug650/tests/quad_strip/p5_result.jpg | Bin 57429 -> 0 bytes .../bug650/tests/quad_strip/quad_strip.html | 130 - .../bug650/tests/quad_strip/quad_strip.pjs | 106 - .../seneca/bug650/tests/quads/berlin-1.jpg | Bin 16554 -> 0 bytes .../seneca/bug650/tests/quads/p5_result.jpg | Bin 62599 -> 0 bytes examples/seneca/bug650/tests/quads/quads.html | 129 - examples/seneca/bug650/tests/quads/quads.pjs | 105 - .../bug650/tests/triangle_fan/berlin-1.jpg | Bin 16554 -> 0 bytes .../bug650/tests/triangle_fan/p5_result.jpg | Bin 63166 -> 0 bytes .../tests/triangle_fan/triangle_fan.html | 128 - .../tests/triangle_fan/triangle_fan.pjs | 101 - .../bug650/tests/triangle_strip/berlin-1.jpg | Bin 16554 -> 0 bytes .../bug650/tests/triangle_strip/p5_result.jpg | Bin 88451 -> 0 bytes .../tests/triangle_strip/triangle_strip.html | 139 - .../tests/triangle_strip/triangle_strip.pjs | 112 - .../bug650/tests/triangles/berlin-1.jpg | Bin 16554 -> 0 bytes .../bug650/tests/triangles/p5_result.jpg | Bin 40093 -> 0 bytes .../bug650/tests/triangles/triangles.html | 118 - .../bug650/tests/triangles/triangles.pjs | 94 - examples/seneca/bug755/test.html | 21 - examples/seneca/bug755/test.pjs | 86 - examples/seneca/bug842/test.html | 38 - examples/seneca/bug842/test.pjs | 16 - examples/seneca/bug954/test.html | 62 - examples/seneca/bug954/test.pjs | 40 - examples/seneca/canvas properties/demo.pde | 7 - examples/seneca/canvas properties/index.html | 22 - .../seneca/canvas_size/test1/canvas_size.html | 2 - .../seneca/canvas_size/test1/canvas_size.pjs | 15 - examples/seneca/conflictingNames/test.html | 2 - examples/seneca/conflictingNames/test.pjs | 32 - .../createGraphics3D/createGraphics2D-3D.pjs | 30 - .../createGraphics3D/createGraphics3D-2D.pjs | 29 - .../createGraphics3D/createGraphics3D-3D.pjs | 34 - .../createGraphics3D/createGraphics3D.html | 120 - .../createGraphics3D/createGraphics3D.pjs | 29 - examples/seneca/cursor/cursorMode.html | 142 - examples/seneca/cursor/cursorUrl.html | 56 - examples/seneca/cursor/cursorimg.htm | 39 - examples/seneca/cursor/cursorimg.pjs | 35 - examples/seneca/cursor/download.png | Bin 1727 -> 0 bytes examples/seneca/cursor/images/3dwarro.cur | Bin 766 -> 0 bytes examples/seneca/cursor/images/cross_rm.cur | Bin 766 -> 0 bytes examples/seneca/cursor/images/greensmiley.cur | Bin 766 -> 0 bytes examples/seneca/cursor/images/lwait.cur | Bin 766 -> 0 bytes examples/seneca/cursor/images/move_i.cur | Bin 326 -> 0 bytes examples/seneca/cursor/images/move_im.cur | Bin 766 -> 0 bytes examples/seneca/cursor/images/no_i.cur | Bin 326 -> 0 bytes examples/seneca/cursor/images/pen_i.cur | Bin 326 -> 0 bytes examples/seneca/cursor/noCursor.html | 55 - .../curveVertex3D/curveVertex-PJava.png | Bin 7301 -> 0 bytes examples/seneca/curveVertex3D/curveVertex.htm | 102 - examples/seneca/curveVertex3D/curveVertex.pjs | 18 - examples/seneca/customFonts/example.html | 2 - examples/seneca/customFonts/example.pjs | 17 - examples/seneca/customFonts/yanone.ttf | Bin 105016 -> 0 bytes examples/seneca/ellipse3D/ellipse.html | 28 - examples/seneca/ellipse3D/ellipse.pjs | 11 - examples/seneca/ellipse3D/ellipse.png | Bin 959 -> 0 bytes examples/seneca/ellipse3D/ellipseMode.gif | Bin 471 -> 0 bytes examples/seneca/ellipse3D/ellipseMode.html | 23 - examples/seneca/ellipse3D/ellipseMode.pjs | 6 - .../file and fragment loading (1818)/fafl.pde | 4 - .../index.html | 25 - examples/seneca/fill/test1/fill_test.html | 2 - examples/seneca/fill/test1/fill_test.js | 380 - examples/seneca/fill/test1/p5_result.jpg | Bin 67199 -> 0 bytes examples/seneca/focus (1089)/focusblur.pde | 29 - examples/seneca/focus (1089)/index.html | 56 - examples/seneca/focus (1089)/pauseonblur.pde | 31 - .../seneca/fontcache (1741)/fontcache.pde | 25 - examples/seneca/fontcache (1741)/index.html | 37 - examples/seneca/hex/hex.pjs | 68 - examples/seneca/hex/hex.png | Bin 32996 -> 0 bytes examples/seneca/hex/hextest.htm | 157 - examples/seneca/imageCopy/imageCopy.html | 34 - examples/seneca/imageCopy/imageCopy.pjs | 22 - examples/seneca/imageCopy/test.png | Bin 1910 -> 0 bytes examples/seneca/inline/inline.htm | 26 - examples/seneca/inspection (1867)/index.html | 86 - examples/seneca/keyCode/keyCode.htm | 90 - examples/seneca/keyCode/keyCode.pjs | 16 - .../seneca/keyEvents (1042 1065)/bypass.pde | 1 - .../seneca/keyEvents (1042 1065)/index.html | 45 - .../keyEvents (1042 1065)/keyPress.html | 106 - .../seneca/keyEvents (1042 1065)/keyevent.pde | 37 - .../seneca/keyEvents (1042 1065)/keypress.pde | 3 - .../keyEvents (1042 1065)/keypress2.pde | 5 - .../seneca/lazy loading (1186)/index.html | 76 - examples/seneca/lazy loading (1186)/lorem.pde | 24 - examples/seneca/lerpColor/lerpColor.html | 50 - examples/seneca/line/line-3d.html | 2 - examples/seneca/line/line-3d.pjs | 99 - examples/seneca/loadBytes/loadBytesTest0.html | 101 - examples/seneca/loadBytes/loadBytesTestFile | 1 - examples/seneca/loadStrings/example.html | 2 - examples/seneca/loadStrings/example.pjs | 7 - examples/seneca/loadStrings/strings.txt | 2 - examples/seneca/loading (95)/a3.pde | 15 - examples/seneca/loading (95)/c1.pde | 15 - examples/seneca/loading (95)/c10.pde | 15 - examples/seneca/loading (95)/c11.pde | 15 - examples/seneca/loading (95)/c3.pde | 15 - examples/seneca/loading (95)/c5.pde | 15 - examples/seneca/loading (95)/c6.pde | 15 - examples/seneca/loading (95)/c7.pde | 15 - examples/seneca/loading (95)/c8.pde | 15 - examples/seneca/loading (95)/c9.pde | 15 - examples/seneca/loading (95)/index.html | 256 - examples/seneca/log/customLogger.html | 97 - examples/seneca/log/index.html | 18 - examples/seneca/log/miltipleCanvasPrint.html | 110 - examples/seneca/log/simplePrint.html | 86 - examples/seneca/log/test.pde | 14 - examples/seneca/long/long.htm | 90 - examples/seneca/long/long.pjs | 11 - examples/seneca/max/maxTest1.html | 230 - examples/seneca/max/maxTest2.html | 230 - examples/seneca/min/minTest1.html | 230 - examples/seneca/min/minTest2.html | 230 - .../seneca/mousePressed/mousePressed.html | 42 - examples/seneca/mousePressed/mousePressed.pjs | 25 - examples/seneca/mouseScroll/index.html | 2 - examples/seneca/mouseScroll/mousescroll.pjs | 73 - examples/seneca/nf/nfTest1.html | 293 - examples/seneca/nf/nfTest2.html | 324 - examples/seneca/param/param.html | 5 - examples/seneca/param/sketch.pde | 2 - .../seneca/parseBoolean/parseBoolean.html | 49 - examples/seneca/parseBoolean/parseBoolean.pjs | 33 - examples/seneca/pimage/ETapple.jpg | Bin 347588 -> 0 bytes examples/seneca/pimage/arch.jpg | Bin 23957 -> 0 bytes examples/seneca/pimage/background.htm | 20 - examples/seneca/pimage/background.pjs | 17 - examples/seneca/pimage/basetest.htm | 2 - examples/seneca/pimage/basetest.pjs | 7 - examples/seneca/pimage/berlin-1.jpg | Bin 85153 -> 0 bytes examples/seneca/pimage/blend.htm | 15 - examples/seneca/pimage/blend.pjs | 8 - examples/seneca/pimage/blendexpected.jpg | Bin 123796 -> 0 bytes examples/seneca/pimage/castle.jpg | Bin 77404 -> 0 bytes examples/seneca/pimage/copy.htm | 17 - examples/seneca/pimage/copy.pjs | 10 - examples/seneca/pimage/copyexpected.jpg | Bin 75256 -> 0 bytes examples/seneca/pimage/copyimg.htm | 21 - examples/seneca/pimage/copyimg.pjs | 18 - examples/seneca/pimage/country.jpg | Bin 96769 -> 0 bytes examples/seneca/pimage/filter.htm | 59 - examples/seneca/pimage/filter.jpg | Bin 104925 -> 0 bytes examples/seneca/pimage/filter.pjs | 53 - examples/seneca/pimage/gradient.htm | 5 - examples/seneca/pimage/gradient.pjs | 63 - examples/seneca/pimage/green.jpg | Bin 21405 -> 0 bytes examples/seneca/pimage/imagemode.htm | 13 - examples/seneca/pimage/imagemode.pjs | 8 - examples/seneca/pimage/lake.jpg | Bin 64474 -> 0 bytes examples/seneca/pimage/loadimage.htm | 17 - examples/seneca/pimage/loadimage.pjs | 37 - examples/seneca/pimage/mask.jpg | Bin 2825 -> 0 bytes examples/seneca/pimage/masktest.htm | 2 - examples/seneca/pimage/masktest.pjs | 96 - examples/seneca/pimage/metamorphosis.jpg | Bin 71896 -> 0 bytes examples/seneca/pimage/moon.jpg | Bin 65868 -> 0 bytes examples/seneca/pimage/ocean.jpg | Bin 63534 -> 0 bytes examples/seneca/pimage/pimage.htm | 17 - examples/seneca/pimage/pimage.pjs | 12 - examples/seneca/pimage/pimage0.htm | 8 - examples/seneca/pimage/pimage0.pjs | 4 - examples/seneca/pimage/pimage3d.htm | 6 - examples/seneca/pimage/pimage3d.pjs | 22 - examples/seneca/pimage/pimageblend.htm | 13 - examples/seneca/pimage/pimageblend.pjs | 7 - .../seneca/pimage/pimageblendexpected.jpg | Bin 105736 -> 0 bytes examples/seneca/pimage/pimagecopy.htm | 12 - examples/seneca/pimage/pimagecopy.pjs | 7 - examples/seneca/pimage/pimagefilter.htm | 55 - examples/seneca/pimage/pimagefilter.pjs | 50 - examples/seneca/pimage/pimagemask.htm | 2 - examples/seneca/pimage/pimagemask.pjs | 25 - examples/seneca/pimage/pimagepreloader.htm | 8 - examples/seneca/pimage/pimagepreloader.pjs | 4 - examples/seneca/pimage/pimageset.htm | 32 - examples/seneca/pimage/pimageset.pjs | 28 - examples/seneca/pimage/pixels.htm | 5 - examples/seneca/pimage/pixels.pjs | 8 - examples/seneca/pimage/red.jpg | Bin 21418 -> 0 bytes examples/seneca/pimage/ref_string.jpg | Bin 31013 -> 0 bytes examples/seneca/pimage/remoteimage.htm | 12 - examples/seneca/pimage/remoteimage.pjs | 8 - examples/seneca/pimage/requestimage.htm | 5 - examples/seneca/pimage/requestimage.pjs | 22 - examples/seneca/pimage/resize.htm | 12 - examples/seneca/pimage/resize.pjs | 8 - examples/seneca/pimage/resizeloop.htm | 40 - examples/seneca/pimage/resizeloop.pjs | 36 - examples/seneca/pimage/save.htm | 5 - examples/seneca/pimage/save.pjs | 34 - examples/seneca/pimage/screenana.png | Bin 72281 -> 0 bytes examples/seneca/pimage/set.htm | 10 - examples/seneca/pimage/set.pjs | 6 - examples/seneca/pimage/slideshow.css | 21 - examples/seneca/pimage/slideshow.htm | 17 - examples/seneca/pimage/slideshow.pjs | 25 - examples/seneca/pimage/spotlight.htm | 4 - examples/seneca/pimage/spotlight.pjs | 44 - examples/seneca/pimage/string.jpg | Bin 104209 -> 0 bytes examples/seneca/pimage/test.jpg | Bin 2792 -> 0 bytes examples/seneca/pimage/texture.gif | Bin 95 -> 0 bytes examples/seneca/pimage/thumbnail.htm | 5 - examples/seneca/pimage/thumbnail.pjs | 84 - examples/seneca/pimage/winter.jpg | Bin 70531 -> 0 bytes examples/seneca/pimage/wormhole.htm | 5 - examples/seneca/pimage/wormhole.pjs | 58 - examples/seneca/pimage/wormhole.png | Bin 27132 -> 0 bytes .../seneca/point/demos/corban/point-3d.html | 2 - .../seneca/point/demos/corban/point-3d.pjs | 88 - examples/seneca/point/demos/psys/psys.html | 2 - examples/seneca/point/demos/psys/psys.pjs | 123 - .../seneca/point/demos/spiral/spiral.html | 55 - examples/seneca/point/demos/spiral/spiral.pjs | 35 - .../seneca/printMatrix/print2DMatrixTest.html | 71 - .../seneca/printMatrix/print3DMatrixTest.html | 75 - .../seneca/processingInstances/instance1.pjs | 12 - .../seneca/processingInstances/instance2.pjs | 12 - .../seneca/processingInstances/instances.html | 4 - .../seneca/rect/demos/bird demo/bird.html | 80 - examples/seneca/rect/demos/bird demo/bird.pjs | 61 - .../seneca/rect/demos/birds demo/birds.html | 162 - .../seneca/rect/demos/birds demo/birds.pjs | 146 - examples/seneca/rect/demos/blinds/blinds.html | 119 - examples/seneca/rect/demos/blinds/blinds.pjs | 98 - .../seneca/rect/tests/test1/p5_result.jpg | Bin 21383 -> 0 bytes examples/seneca/rect/tests/test1/rect.html | 116 - examples/seneca/rect/tests/test1/rect.pjs | 95 - .../seneca/rect/tests/test2/p5_result.jpg | Bin 104197 -> 0 bytes examples/seneca/rect/tests/test2/rect.html | 199 - examples/seneca/rect/tests/test2/rect.pjs | 178 - examples/seneca/rotate/rotate.html | 46 - examples/seneca/rotate/rotateX.html | 35 - examples/seneca/rotate/rotateY.html | 35 - examples/seneca/rotate/rotateZ.html | 35 - examples/seneca/saveStrings/example.html | 2 - examples/seneca/saveStrings/example.pjs | 15 - examples/seneca/saveStrings/strings.txt | 2 - examples/seneca/screen/XandY/screenX.html | 47 - examples/seneca/screen/XandY/screenX.pjs | 29 - .../screen/XandY/screenXProjection.html | 31 - .../seneca/screen/XandY/screenXProjection.pjs | 12 - examples/seneca/screen/XandY/screenY.html | 50 - examples/seneca/screen/XandY/screenY.pjs | 29 - examples/seneca/shape/bot.jpg | Bin 19007 -> 0 bytes examples/seneca/shape/bot.svg | 160 - examples/seneca/shape/bot2.jpg | Bin 45850 -> 0 bytes examples/seneca/shape/shape.html | 29 - examples/seneca/shape/shape2.html | 30 - examples/seneca/shapeMode/bot.jpg | Bin 6165 -> 0 bytes examples/seneca/shapeMode/bot.svg | 160 - examples/seneca/shapeMode/bot4.jpg | Bin 76120 -> 0 bytes examples/seneca/shapeMode/shapeMode.html | 25 - examples/seneca/shapeMode/shapeMode2.html | 33 - examples/seneca/size/size.html | 37 - examples/seneca/size/size2.html | 37 - examples/seneca/sphere/sphere.html | 22 - examples/seneca/sphere/sphere2.html | 17 - examples/seneca/sphere/sphere2.pjs | 38 - examples/seneca/sphere/spheretest.js | 29 - examples/seneca/status/status.html | 36 - .../seneca/stringEquals/stringEqualsTest.html | 168 - .../seneca/strokeWeight/strokeWeight.html | 2 - examples/seneca/strokeWeight/strokeWeight.pjs | 14 - examples/seneca/text$6/textTest1.html | 102 - examples/seneca/text/textTest1.html | 97 - examples/seneca/text/textTest2.html | 121 - examples/seneca/text/textTest3.html | 123 - examples/seneca/text/textTest4.html | 93 - examples/seneca/text/textTest5.html | 94 - examples/seneca/text/textTest6.html | 90 - examples/seneca/text3D/text-3d.html | 2 - examples/seneca/text3D/text-3d.pjs | 39 - examples/seneca/textAscent/textAscent.html | 92 - examples/seneca/textDescent/textDescent.html | 92 - examples/seneca/textMode/textMode2D.html | 44 - examples/seneca/textMode/textMode2D.pjs | 27 - examples/seneca/textMode/textMode3D.html | 31 - examples/seneca/textWidth/2d/demos/index.html | 291 - examples/seneca/textWidth/2d/demos/poetry.js | 260 - examples/seneca/textWidth/2d/tests/test.html | 104 - examples/seneca/textWidth/2d/tests/test.pjs | 82 - examples/seneca/textWidth/2d/tests/test2.html | 96 - examples/seneca/textWidth/3d/test/test.html | 105 - examples/seneca/textWidth/3d/test/test.pjs | 86 - examples/seneca/textWidth/3d/test/test2.html | 96 - examples/seneca/tint/string.jpg | Bin 104209 -> 0 bytes examples/seneca/tint/tint.htm | 15 - examples/seneca/tint/tint.pjs | 9 - .../seneca/touchevents/multitouchevents.html | 118 - .../seneca/touchevents/simpletouchevents.html | 100 - examples/seneca/triangle/p5_result.png | Bin 671 -> 0 bytes examples/seneca/triangle/triangle-3d.html | 22 - examples/seneca/triangle/triangle-3d.pjs | 4 - examples/seneca/trim/trim.pjs | 33 - examples/seneca/trim/trim.png | Bin 33375 -> 0 bytes examples/seneca/trim/trimtest.htm | 114 - examples/seneca/xml (1806)/index.html | 19 - examples/seneca/xml (1806)/test.xml | 5 - examples/style.css | 50 - examples/topics/animatedsprite.html | 83 - examples/topics/animator.html | 96 - examples/topics/anisprite.html | 77 - examples/topics/blur.html | 96 - examples/topics/bounce.html | 101 - examples/topics/bouncybubbles.html | 197 - examples/topics/brightness.html | 100 - examples/topics/brownian.html | 103 - examples/topics/button.html | 205 - examples/topics/buttons.html | 443 - examples/topics/chain.html | 139 - examples/topics/circlecollision.html | 334 - examples/topics/collision.html | 165 - examples/topics/continuouslines.html | 43 - examples/topics/convolution.html | 157 - examples/topics/conway.html | 163 - examples/topics/customtool.html | 177 - examples/topics/data/PT_Shifty_0000.gif | Bin 314 -> 0 bytes examples/topics/data/PT_Shifty_0001.gif | Bin 314 -> 0 bytes examples/topics/data/PT_Shifty_0002.gif | Bin 318 -> 0 bytes examples/topics/data/PT_Shifty_0003.gif | Bin 328 -> 0 bytes examples/topics/data/PT_Shifty_0004.gif | Bin 343 -> 0 bytes examples/topics/data/PT_Shifty_0005.gif | Bin 379 -> 0 bytes examples/topics/data/PT_Shifty_0006.gif | Bin 420 -> 0 bytes examples/topics/data/PT_Shifty_0007.gif | Bin 501 -> 0 bytes examples/topics/data/PT_Shifty_0008.gif | Bin 615 -> 0 bytes examples/topics/data/PT_Shifty_0009.gif | Bin 733 -> 0 bytes examples/topics/data/PT_Shifty_0010.gif | Bin 806 -> 0 bytes examples/topics/data/PT_Shifty_0011.gif | Bin 842 -> 0 bytes examples/topics/data/PT_Shifty_0012.gif | Bin 877 -> 0 bytes examples/topics/data/PT_Shifty_0013.gif | Bin 877 -> 0 bytes examples/topics/data/PT_Shifty_0014.gif | Bin 951 -> 0 bytes examples/topics/data/PT_Shifty_0015.gif | Bin 934 -> 0 bytes examples/topics/data/PT_Shifty_0016.gif | Bin 917 -> 0 bytes examples/topics/data/PT_Shifty_0017.gif | Bin 907 -> 0 bytes examples/topics/data/PT_Shifty_0018.gif | Bin 907 -> 0 bytes examples/topics/data/PT_Shifty_0019.gif | Bin 892 -> 0 bytes examples/topics/data/PT_Shifty_0020.gif | Bin 854 -> 0 bytes examples/topics/data/PT_Shifty_0021.gif | Bin 841 -> 0 bytes examples/topics/data/PT_Shifty_0022.gif | Bin 886 -> 0 bytes examples/topics/data/PT_Shifty_0023.gif | Bin 805 -> 0 bytes examples/topics/data/PT_Shifty_0024.gif | Bin 733 -> 0 bytes examples/topics/data/PT_Shifty_0025.gif | Bin 667 -> 0 bytes examples/topics/data/PT_Shifty_0026.gif | Bin 596 -> 0 bytes examples/topics/data/PT_Shifty_0027.gif | Bin 539 -> 0 bytes examples/topics/data/PT_Shifty_0028.gif | Bin 503 -> 0 bytes examples/topics/data/PT_Shifty_0029.gif | Bin 451 -> 0 bytes examples/topics/data/PT_Shifty_0030.gif | Bin 392 -> 0 bytes examples/topics/data/PT_Shifty_0031.gif | Bin 351 -> 0 bytes examples/topics/data/PT_Shifty_0032.gif | Bin 333 -> 0 bytes examples/topics/data/PT_Shifty_0033.gif | Bin 323 -> 0 bytes examples/topics/data/PT_Shifty_0034.gif | Bin 316 -> 0 bytes examples/topics/data/PT_Shifty_0035.gif | Bin 316 -> 0 bytes examples/topics/data/PT_Shifty_0036.gif | Bin 315 -> 0 bytes examples/topics/data/PT_Shifty_0037.gif | Bin 312 -> 0 bytes examples/topics/data/PT_Teddy_0000.gif | Bin 305 -> 0 bytes examples/topics/data/PT_Teddy_0001.gif | Bin 309 -> 0 bytes examples/topics/data/PT_Teddy_0002.gif | Bin 310 -> 0 bytes examples/topics/data/PT_Teddy_0003.gif | Bin 310 -> 0 bytes examples/topics/data/PT_Teddy_0004.gif | Bin 315 -> 0 bytes examples/topics/data/PT_Teddy_0005.gif | Bin 329 -> 0 bytes examples/topics/data/PT_Teddy_0006.gif | Bin 339 -> 0 bytes examples/topics/data/PT_Teddy_0007.gif | Bin 354 -> 0 bytes examples/topics/data/PT_Teddy_0008.gif | Bin 390 -> 0 bytes examples/topics/data/PT_Teddy_0009.gif | Bin 415 -> 0 bytes examples/topics/data/PT_Teddy_0010.gif | Bin 451 -> 0 bytes examples/topics/data/PT_Teddy_0011.gif | Bin 482 -> 0 bytes examples/topics/data/PT_Teddy_0012.gif | Bin 546 -> 0 bytes examples/topics/data/PT_Teddy_0013.gif | Bin 566 -> 0 bytes examples/topics/data/PT_Teddy_0014.gif | Bin 607 -> 0 bytes examples/topics/data/PT_Teddy_0015.gif | Bin 692 -> 0 bytes examples/topics/data/PT_Teddy_0016.gif | Bin 778 -> 0 bytes examples/topics/data/PT_Teddy_0017.gif | Bin 853 -> 0 bytes examples/topics/data/PT_Teddy_0018.gif | Bin 914 -> 0 bytes examples/topics/data/PT_Teddy_0019.gif | Bin 936 -> 0 bytes examples/topics/data/PT_Teddy_0020.gif | Bin 968 -> 0 bytes examples/topics/data/PT_Teddy_0021.gif | Bin 971 -> 0 bytes examples/topics/data/PT_Teddy_0022.gif | Bin 987 -> 0 bytes examples/topics/data/PT_Teddy_0023.gif | Bin 1013 -> 0 bytes examples/topics/data/PT_Teddy_0024.gif | Bin 1014 -> 0 bytes examples/topics/data/PT_Teddy_0025.gif | Bin 1002 -> 0 bytes examples/topics/data/PT_Teddy_0026.gif | Bin 976 -> 0 bytes examples/topics/data/PT_Teddy_0027.gif | Bin 984 -> 0 bytes examples/topics/data/PT_Teddy_0028.gif | Bin 936 -> 0 bytes examples/topics/data/PT_Teddy_0029.gif | Bin 891 -> 0 bytes examples/topics/data/PT_Teddy_0030.gif | Bin 826 -> 0 bytes examples/topics/data/PT_Teddy_0031.gif | Bin 717 -> 0 bytes examples/topics/data/PT_Teddy_0032.gif | Bin 625 -> 0 bytes examples/topics/data/PT_Teddy_0033.gif | Bin 543 -> 0 bytes examples/topics/data/PT_Teddy_0034.gif | Bin 486 -> 0 bytes examples/topics/data/PT_Teddy_0035.gif | Bin 468 -> 0 bytes examples/topics/data/PT_Teddy_0036.gif | Bin 453 -> 0 bytes examples/topics/data/PT_Teddy_0037.gif | Bin 440 -> 0 bytes examples/topics/data/PT_Teddy_0038.gif | Bin 428 -> 0 bytes examples/topics/data/PT_Teddy_0039.gif | Bin 410 -> 0 bytes examples/topics/data/PT_Teddy_0040.gif | Bin 387 -> 0 bytes examples/topics/data/PT_Teddy_0041.gif | Bin 351 -> 0 bytes examples/topics/data/PT_Teddy_0042.gif | Bin 329 -> 0 bytes examples/topics/data/PT_Teddy_0043.gif | Bin 322 -> 0 bytes examples/topics/data/PT_Teddy_0044.gif | Bin 318 -> 0 bytes examples/topics/data/PT_Teddy_0045.gif | Bin 315 -> 0 bytes examples/topics/data/PT_Teddy_0046.gif | Bin 310 -> 0 bytes examples/topics/data/PT_Teddy_0047.gif | Bin 311 -> 0 bytes examples/topics/data/PT_Teddy_0048.gif | Bin 311 -> 0 bytes examples/topics/data/PT_Teddy_0049.gif | Bin 312 -> 0 bytes examples/topics/data/PT_Teddy_0050.gif | Bin 312 -> 0 bytes examples/topics/data/PT_Teddy_0051.gif | Bin 311 -> 0 bytes examples/topics/data/PT_Teddy_0052.gif | Bin 308 -> 0 bytes examples/topics/data/PT_Teddy_0053.gif | Bin 306 -> 0 bytes examples/topics/data/PT_Teddy_0054.gif | Bin 303 -> 0 bytes examples/topics/data/PT_Teddy_0055.gif | Bin 303 -> 0 bytes examples/topics/data/PT_Teddy_0056.gif | Bin 306 -> 0 bytes examples/topics/data/PT_Teddy_0057.gif | Bin 308 -> 0 bytes examples/topics/data/PT_Teddy_0058.gif | Bin 306 -> 0 bytes examples/topics/data/PT_Teddy_0059.gif | Bin 306 -> 0 bytes examples/topics/data/PT_anim0000.gif | Bin 3840 -> 0 bytes examples/topics/data/PT_anim0001.gif | Bin 3819 -> 0 bytes examples/topics/data/PT_anim0002.gif | Bin 3910 -> 0 bytes examples/topics/data/PT_anim0003.gif | Bin 3750 -> 0 bytes examples/topics/data/PT_anim0004.gif | Bin 3681 -> 0 bytes examples/topics/data/PT_anim0005.gif | Bin 3657 -> 0 bytes examples/topics/data/PT_anim0006.gif | Bin 3437 -> 0 bytes examples/topics/data/PT_anim0007.gif | Bin 3547 -> 0 bytes examples/topics/data/PT_anim0008.gif | Bin 3631 -> 0 bytes examples/topics/data/PT_anim0009.gif | Bin 3651 -> 0 bytes examples/topics/data/PT_anim0010.gif | Bin 3695 -> 0 bytes examples/topics/data/PT_anim0011.gif | Bin 3827 -> 0 bytes examples/topics/data/base.gif | Bin 774 -> 0 bytes examples/topics/data/cait.jpg | Bin 7920 -> 0 bytes examples/topics/data/cars2.tsv | 1 - examples/topics/data/cdi01_g.jpg | Bin 26047 -> 0 bytes examples/topics/data/down.gif | Bin 656 -> 0 bytes examples/topics/data/end.jpg | Bin 36399 -> 0 bytes examples/topics/data/florence03.jpg | Bin 58018 -> 0 bytes examples/topics/data/house.jpg | Bin 26723 -> 0 bytes examples/topics/data/milan.jpg | Bin 8729 -> 0 bytes examples/topics/data/paris.jpg | Bin 67866 -> 0 bytes examples/topics/data/positions.txt | 206 - examples/topics/data/roll.gif | Bin 774 -> 0 bytes examples/topics/data/seedBottom.jpg | Bin 13319 -> 0 bytes examples/topics/data/seedTop.jpg | Bin 15044 -> 0 bytes examples/topics/data/sunflower.jpg | Bin 36656 -> 0 bytes examples/topics/data/texture.gif | Bin 1829 -> 0 bytes examples/topics/data/trees.jpg | Bin 34820 -> 0 bytes examples/topics/data/wires.jpg | Bin 12813 -> 0 bytes examples/topics/data/ystone08.jpg | Bin 56999 -> 0 bytes examples/topics/edgedetection.html | 88 - examples/topics/flocking.html | 727 - examples/topics/fluid.html | 419 - examples/topics/follow1.html | 85 - examples/topics/follow2.html | 89 - examples/topics/follow3.html | 93 - examples/topics/handles.html | 285 - examples/topics/histogram.html | 103 - examples/topics/imagebutton.html | 220 - examples/topics/index.html | 91 - examples/topics/koch.html | 354 - examples/topics/linear.html | 58 - examples/topics/linearimage.html | 123 - examples/topics/loadfile1.html | 66 - examples/topics/loadfile2.html | 148 - examples/topics/mandelbrot.html | 145 - examples/topics/movingoncurves.html | 106 - examples/topics/multipleparticlesystems.html | 666 - examples/topics/pattern.html | 74 - examples/topics/penrosesnowflake.html | 417 - examples/topics/penrosetile.html | 471 - examples/topics/pentigree.html | 363 - examples/topics/pixelarray.html | 130 - examples/topics/puff.html | 181 - examples/topics/pulses.html | 75 - examples/topics/reach1.html | 100 - examples/topics/reach2.html | 126 - examples/topics/reach3.html | 160 - examples/topics/reflection1.html | 261 - examples/topics/reflection2.html | 355 - examples/topics/rollover.html | 182 - examples/topics/savefile1.html | 99 - examples/topics/savefile2.html | 72 - examples/topics/savemanyimages.html | 60 - examples/topics/saveoneimage.html | 54 - examples/topics/scribbleplotter.html | 188 - examples/topics/scrollbar.html | 256 - examples/topics/sequential.html | 105 - examples/topics/simpleparticlesystem.html | 532 - examples/topics/smoke.html | 536 - examples/topics/smokeparticlesystem.html | 654 - examples/topics/softbody.html | 203 - examples/topics/spore1.html | 267 - examples/topics/spore2.html | 349 - examples/topics/spring.html | 201 - examples/topics/springs.html | 327 - examples/topics/tickle.html | 70 - examples/topics/tileimages.html | 84 - examples/topics/tree.html | 118 - examples/topics/wolfram.html | 265 - fonts/Biotyp.svg | 855 - lib/Browser.js | 868 + lib/TestHarness.js | 129 + minify.js | 17 + package.json | 17 + processing.js | 37351 ++++++++-------- processing.min.js | 425 + server.js | 41 + src/Helpers/ObjectIterator.js | 24 + src/Helpers/PConstants.js | 296 + src/Helpers/defaultScope.js | 229 + src/Helpers/finalizeProcessing.js | 343 + src/Helpers/virtEquals.js | 25 + src/Helpers/virtHashCode.js | 27 + src/Objects/ArrayList.js | 276 + src/Objects/Char.js | 25 + src/Objects/HashMap.js | 411 + src/Objects/PFont.js | 374 + src/Objects/PMatrix2D.js | 395 + src/Objects/PMatrix3D.js | 597 + src/Objects/PShape.js | 661 + src/Objects/PShapeSVG.js | 1091 + src/Objects/PVector.js | 237 + src/Objects/XMLAttribute.js | 80 + src/Objects/XMLElement.js | 807 + src/Objects/webcolors.js | 145 + src/P5Functions/JavaProxyFunctions.js | 295 + src/P5Functions/Math.js | 664 + src/P5Functions/commonFunctions.js | 232 + src/P5Functions/touchmouse.js | 325 + src/Parser/Parser.js | 1734 + src/Processing.js | 12029 +++++ .../extensions}/processing-inspector.js | 0 .../extensions}/processing-lazyload.js | 14 +- src/index.js | 130 + test.html | 31 + test.js | 154 + test/KNOWN-FAILURES | 15 - test/README | 93 - test/lint-notes.txt | 25 - test/old/ref-tests/Biotyp.svg | 855 - test/old/ref-tests/ajax.me | 3 - test/old/ref-tests/arc_fill.gif | Bin 362 -> 0 bytes test/old/ref-tests/ellipse.gif | Bin 757 -> 0 bytes test/old/ref-tests/gradient.jpeg | Bin 408 -> 0 bytes test/old/ref-tests/green-square.gif | Bin 108 -> 0 bytes test/old/ref-tests/index.html | 361 - test/old/ref-tests/obama_smoking.jpg | Bin 1124 -> 0 bytes test/old/unit-tests/ArrayList | 25 - test/old/unit-tests/ajax.me | 3 - test/old/unit-tests/append | 23 - test/old/unit-tests/concat | 26 - test/old/unit-tests/end-of-tests | 21 - test/old/unit-tests/expand | 37 - test/old/unit-tests/index.html | 31 - test/old/unit-tests/join | 36 - test/old/unit-tests/rect | 18 - test/old/unit-tests/reftest.lib | 71 - test/old/unit-tests/shorten | 25 - test/old/unit-tests/splice | 34 - test/old/unit-tests/split | 37 - test/old/unit-tests/splitTokens | 24 - test/old/unit-tests/subset | 36 - test/old/unit-tests/test.lib | 1 - .../step00_show_map/step00_show_map.pde | 0 .../ch03-usmap/step01_fig1_red_dots/Table.pde | 0 .../step01_fig1_red_dots.pde | 0 .../step02_fig2_varying_sizes/Table.pde | 0 .../step02_fig2_varying_sizes.pde | 0 .../step03_fig3_red_to_blue/Table.pde | 0 .../step03_fig3_red_to_blue.pde | 0 .../step04_fig4_blue_green/Table.pde | 0 .../step04_fig4_blue_green.pde | 0 .../step05_fig5_blue_green_hsb/Table.pde | 0 .../step05_fig5_blue_green_hsb.pde | 0 .../step06_fig6_two_sided_range/Table.pde | 0 .../step06_fig6_two_sided_range.pde | 0 .../step07_fig7_two_sided_alpha/Table.pde | 0 .../step07_fig7_two_sided_alpha.pde | 0 .../ch03-usmap/step08_rollovers/Table.pde | 0 .../step08_rollovers/step08_rollovers.pde | 0 .../step09_rollovers_full_names/Table.pde | 0 .../step09_rollovers_full_names.pde | 0 .../step10_single_rollover/Table.pde | 0 .../step10_single_rollover.pde | 0 .../step11_randomize_on_keypress/Table.pde | 0 .../step11_randomize_on_keypress.pde | 0 .../step12_randomize_with_nfp/Table.pde | 0 .../step12_randomize_with_nfp.pde | 0 .../step13_randomize_from_cgi/Table.pde | 0 .../step13_randomize_from_cgi.pde | 0 .../step14_integrators/Integrator.pde | 0 .../ch03-usmap/step14_integrators/Table.pde | 0 .../step14_integrators/step14_integrators.pde | 0 .../step15_framerate/Integrator.pde | 0 .../ch03-usmap/step15_framerate/Table.pde | 0 .../step15_framerate/step15_framerate.pde | 0 .../step16_lethargic/Integrator.pde | 0 .../ch03-usmap/step16_lethargic/Table.pde | 0 .../step16_lethargic/step16_lethargic.pde | 0 .../ch03-usmap/step17_bouncy/Integrator.pde | 0 .../ch03-usmap/step17_bouncy/Table.pde | 0 .../step17_bouncy/step17_bouncy.pde | 0 .../figure_01_just_points/FloatTable.pde | 0 .../figure_01_just_points.pde | 0 .../figure_02_plot_title/FloatTable.pde | 0 .../figure_02_plot_title.pde | 0 .../FloatTable.pde | 0 .../figure_05_ylabels_and_ticks.pde | 0 .../figure_06_finalish/FloatTable.pde | 0 .../figure_06_finalish/figure_06_finalish.pde | 0 .../figure_07a_shape_noFill.pde | 0 .../figure_07b_shape_fill.pde | 0 .../figure_07c_shape_close.pde | 0 .../figure_08_draw_data_line/FloatTable.pde | 0 .../figure_08_draw_data_line.pde | 0 .../figure_09_draw_data_mixed/FloatTable.pde | 0 .../figure_09_draw_data_mixed.pde | 0 .../figure_10_rollovers/FloatTable.pde | 0 .../figure_10_rollovers.pde | 0 .../figure_11_curve/FloatTable.pde | 0 .../figure_11_curve/figure_11_curve.pde | 0 .../figure_12_area/FloatTable.pde | 0 .../figure_12_area/figure_12_area.pde | 0 .../figure_13_reversed/FloatTable.pde | 0 .../figure_13_reversed/figure_13_reversed.pde | 0 .../figure_14_bar_chart/FloatTable.pde | 0 .../figure_14_bar_chart.pde | 0 .../figure_15_tabs/FloatTable.pde | 0 .../figure_15_tabs/figure_15_tabs.pde | 0 .../step_16_tabs_images/FloatTable.pde | 0 .../step_16_tabs_images.pde | 0 .../step_17_interpolate/FloatTable.pde | 0 .../step_17_interpolate/Integrator.pde | 0 .../step_17_interpolate.pde | 0 .../step_08b_web/step_08b_web.pde | 0 .../round_09c_focus_handling/Place.pde | 0 .../round_09c_focus_handling/Slurper.pde | 0 .../round_09c_focus_handling/data/zips.gz | Bin .../round_09c_focus_handling.pde | 0 .../ch07-hierarchies/equator_03b/WordItem.pde | 0 .../ch07-hierarchies/equator_03b/WordMap.pde | 0 .../equator_03b/equator_03b.pde | 0 .../file_tree_queue_08b/Node.pde | 0 .../file_tree_queue_08b.pde | 0 .../filetreemap_06b/FileItem.pde | 0 .../filetreemap_06b/FolderItem.pde | 0 .../filetreemap_06b/RankedLongArray.pde | 0 .../filetreemap_06b/filetreemap_06b.pde | 0 .../step_06c_variable_size_nodes/Edge.pde | 0 .../step_06c_variable_size_nodes/Node.pde | 0 .../step_06c_variable_size_nodes.pde | 0 .../step_07c_save_pdf/Edge.pde | 0 .../step_07c_save_pdf/Node.pde | 0 .../step_07c_save_pdf/step_07c_save_pdf.pde | 0 .../step_08c_graphviz/Edge.pde | 0 .../step_08c_graphviz/Node.pde | 0 .../step_08c_graphviz/step_08c_graphviz.pde | 0 .../Appendixes/Appendix D/_01/_01.pde | 0 .../Appendixes/Appendix E/_01/_01.pde | 0 .../Appendixes/Appendix E/_02/_02.pde | 0 .../Appendixes/Appendix E/_03/_03.pde | 0 .../Appendixes/Appendix E/_04/_04.pde | 0 .../Appendixes/Appendix E/_05/_05.pde | 0 .../Appendixes/Appendix E/_06/_06.pde | 0 .../Appendixes/Appendix E/_07/_07.pde | 0 .../Appendixes/Appendix E/_08/_08.pde | 0 .../Appendixes/Appendix E/_09/_09.pde | 0 .../Appendixes/Appendix E/_10/_10.pde | 0 .../Extensions/Vision/_02/_02.pde | 0 .../Illustrations/page_022/page_022.pde | 0 .../Illustrations/page_042/page_042.pde | 0 .../Illustrations/page_060/page_060.pde | 0 .../Illustrations/page_078/page_078.pde | 0 .../Illustrations/page_094/page_094.pde | 0 .../Illustrations/page_xx/page_xx.pdf | Bin .../_01_collage/_01_collage/_01_collage.pde | 0 .../_01_collage/_02_collage/_02_collage.pde | 0 .../_02_waves/_01_waves/_01_waves.pde | 0 .../_02_waves/_02_waves/_02_waves.pde | 0 .../_02_waves/_03_waves/_03_waves.pde | 0 .../_02_waves/_04_waves/_04_waves.pde | 0 .../_02_waves/_05_waves/_05_waves.pde | 0 .../_03_grids/_01_grids/_01_grids.pde | 0 .../_03_grids/_02_grids/_02_grids.pde | 0 .../_03_grids/_03_grids/_03_grids.pde | 0 .../_03_grids/_04_grids/_04_grids.pde | 0 .../_03_grids/_05_grids/_05_grids.pde | 0 .../Synthesis/_05_tennis/_05_tennis.pde | 0 .../Synthesis/_07_typing/_07_typing.pde | 0 .../Synthesis/_08_clock/_08_clock.pde | 0 test/parser/arrayInit/1.pde | 0 test/parser/arrayInit/2.pde | 0 test/parser/arrayInit/3.pde | 0 test/parser/arrays.pde | 0 test/parser/commentStringOrder.pde | 0 test/parser/functionCtorNames.pde | 0 test/parser/interface.pde | 0 test/parser/js-extra-semi.pde | 0 test/parser/js-no-semi.pde | 0 test/parser/minified.pde | 0 test/parser/multiLineComment.pde | 0 test/parser/newline.pde | 0 test/parser/pie-chart.pde | 0 test/parser/pixels.pde | 0 test/parser/pjs-directive.pde | 0 test/parser/shiffman-test.pde | 0 test/parser/staticClass.pde | 0 test/parser/staticMethod.pde | 0 .../stringParsing/doubleQuotedStrings/0.pde | 0 .../stringParsing/doubleQuotedStrings/1.pde | 0 .../stringParsing/doubleQuotedStrings/10.pde | 0 .../stringParsing/doubleQuotedStrings/11.pde | 0 .../stringParsing/doubleQuotedStrings/2.pde | 0 .../stringParsing/doubleQuotedStrings/3.pde | 0 .../stringParsing/doubleQuotedStrings/4.pde | 0 .../stringParsing/doubleQuotedStrings/5.pde | 0 .../stringParsing/doubleQuotedStrings/6.pde | 0 .../stringParsing/doubleQuotedStrings/7.pde | 0 .../stringParsing/doubleQuotedStrings/8.pde | 0 .../stringParsing/doubleQuotedStrings/9.pde | 0 .../stringParsing/singleQuotedStrings/0.pde | 0 .../stringParsing/singleQuotedStrings/1.pde | 0 .../stringParsing/singleQuotedStrings/10.pde | 0 .../stringParsing/singleQuotedStrings/11.pde | 0 .../stringParsing/singleQuotedStrings/2.pde | 0 .../stringParsing/singleQuotedStrings/3.pde | 0 .../stringParsing/singleQuotedStrings/4.pde | 0 .../stringParsing/singleQuotedStrings/5.pde | 0 .../stringParsing/singleQuotedStrings/6.pde | 0 .../stringParsing/singleQuotedStrings/7.pde | 0 .../stringParsing/singleQuotedStrings/8.pde | 0 .../stringParsing/singleQuotedStrings/9.pde | 0 test/parser/tabs.pde | 0 test/parser/ticket1018.pde | 0 test/parser/ticket1674.pde | 0 test/parser/ticket1688.pde | 0 test/parser/ticket870.pde | 0 test/perf/8-pointLights-sphere.pde | 0 test/perf/PMatrix3D-create.pde | 0 test/perf/PMatrix3D-invert.pde | 0 test/perf/PMatrix3D-multX.pde | 0 test/perf/PMatrix3D-reset.pde | 0 test/perf/PMatrix3D-rotate.pde | 0 test/perf/PMatrix3D-rotateX.pde | 0 test/perf/PMatrix3D-rotateY.pde | 0 test/perf/PMatrix3D-rotateZ.pde | 0 test/perf/PMatrix3D-scale.pde | 0 test/perf/PMatrix3D-set.pde | 0 test/perf/PMatrix3D-translate.pde | 0 test/perf/PMatrix3D-transpose.pde | 0 test/perf/alpha-transparency-mask.pde | 0 test/perf/arc.pde | 0 test/perf/arch-100.jpg | Bin test/perf/background-3D.pde | 0 test/perf/background.pde | 0 test/perf/blendcolor-add.pde | 0 test/perf/blendcolor-blend.pde | 0 test/perf/blendcolor-burn.pde | 0 test/perf/blendcolor-darkest.pde | 0 test/perf/blendcolor-difference.pde | 0 test/perf/blendcolor-dodge.pde | 0 test/perf/blendcolor-exclusion.pde | 0 test/perf/blendcolor-hard_light.pde | 0 test/perf/blendcolor-lightest.pde | 0 test/perf/blendcolor-multiply.pde | 0 test/perf/blendcolor-overlay.pde | 0 test/perf/blendcolor-screen.pde | 0 test/perf/blendcolor-soft_light.pde | 0 test/perf/blendcolor-subtract.pde | 0 test/perf/box-3D.pde | 0 test/perf/box-noFill-3D.pde | 0 test/perf/box-nostroke-3D.pde | 0 test/perf/construct.jpg | Bin test/perf/createImage.pde | 0 test/perf/directionalLight-sphere-100.pde | 0 test/perf/directionalLight-sphere-50.pde | 0 test/perf/empty-baseline.pde | 0 test/perf/get-3d.pde | 0 test/perf/get.pde | 0 test/perf/image-fractional-coords.pde | 0 test/perf/image-whole-coords.pde | 0 test/perf/index.html | 49 +- test/perf/lerpcolor-hsb.pde | 0 test/perf/lerpcolor-rgb.pde | 0 test/perf/line-3D.pde | 0 test/perf/line-crisp.pde | 0 test/perf/line-notcrisp.pde | 0 test/perf/loadImage.pde | 0 test/perf/perf_lake.jpg | Bin test/perf/perf_string.jpg | Bin test/perf/pimage-blend-add.pde | 0 test/perf/pimage-blend-blend.pde | 0 test/perf/pimage-blend-burn.pde | 0 test/perf/pimage-blend-darkest.pde | 0 test/perf/pimage-blend-difference.pde | 0 test/perf/pimage-blend-dodge.pde | 0 test/perf/pimage-blend-exclusion.pde | 0 test/perf/pimage-blend-hardlight.pde | 0 test/perf/pimage-blend-lightest.pde | 0 test/perf/pimage-blend-multiply.pde | 0 test/perf/pimage-blend-overlay.pde | 0 test/perf/pimage-blend-screen.pde | 0 test/perf/pimage-blend-softlight.pde | 0 test/perf/pimage-blend-subtract.pde | 0 test/perf/pimage-copy.pde | 0 test/perf/pimage-filter-blur3.pde | 0 test/perf/pimage-filter-dilate.pde | 0 test/perf/pimage-filter-erode.pde | 0 test/perf/pimage-filter-gray.pde | 0 test/perf/pimage-filter-invert.pde | 0 test/perf/pimage-filter-opaque.pde | 0 test/perf/pimage-filter-posterize4.pde | 0 test/perf/pimage-filter-threshold.pde | 0 test/perf/pimage-mask-image.pde | 0 test/perf/pimage-resize.pde | 0 test/perf/plants.pde | 0 test/perf/point-1000-3D.pde | 0 test/perf/point-3D.pde | 0 test/perf/point-arc.pde | 0 test/perf/point-crisp.pde | 0 test/perf/point-notcrisp.pde | 0 test/perf/pointLight-sphere-100.pde | 0 test/perf/pointLight-sphere-50.pde | 0 test/perf/pvector-add.pde | 0 test/perf/pvector-anglebetween.pde | 0 test/perf/pvector-array.pde | 0 test/perf/pvector-cross.pde | 0 test/perf/pvector-ctor.pde | 0 test/perf/pvector-dist.pde | 0 test/perf/pvector-div.pde | 0 test/perf/pvector-dot.pde | 0 test/perf/pvector-get.pde | 0 test/perf/pvector-limit.pde | 0 test/perf/pvector-mag.pde | 0 test/perf/pvector-mult.pde | 0 test/perf/pvector-normalize.pde | 0 test/perf/pvector-set.pde | 0 test/perf/pvector-sub.pde | 0 test/perf/quad-notexture.pde | 0 test/perf/quad-texture.pde | 0 test/perf/rainbow-spirograph.pde | 0 test/perf/random-ellipse.pde | 0 test/perf/random-fill.pde | 0 test/perf/random-line.pde | 0 test/perf/random-point.pde | 0 test/perf/rect-3D.pde | 0 test/perf/rect-crisp.pde | 0 test/perf/rect-notcrisp.pde | 0 test/perf/shape-3D.pde | 0 test/perf/shininess.pde | 0 test/perf/sphere-3D.pde | 0 test/perf/sphere-noFill-3D.pde | 0 test/perf/spouch.png | Bin test/perf/tests.js | 0 test/perf/tint.pde | 0 test/perf/transparent-background.pde | 0 test/perf/triangle-3D.pde | 0 test/perf/triangle.pde | 0 test/perf/wash.jpg | Bin test/ref/3d-arc-4-combo.pde | 0 .../3d-ellipse-fill-noFill-stoke-noStroke.pde | 0 test/ref/PT_anim0000.gif | Bin test/ref/PT_anim0001.gif | Bin test/ref/PT_anim0002.gif | Bin test/ref/PT_anim0003.gif | Bin test/ref/PT_anim0004.gif | Bin test/ref/PT_anim0005.gif | Bin test/ref/PT_anim0006.gif | Bin test/ref/PT_anim0007.gif | Bin test/ref/PT_anim0008.gif | Bin test/ref/PT_anim0009.gif | Bin test/ref/PT_anim0010.gif | Bin test/ref/PT_anim0011.gif | Bin test/ref/additive-wave.pde | 0 test/ref/ambientLight_1.pde | 0 test/ref/ambientLight_p5test_1.pde | 0 test/ref/ambientLight_p5test_2.pde | 0 test/ref/ambient_p5test.pde | 0 test/ref/applyMatrix.pde | 0 test/ref/arc-fill-crisp.pde | 0 test/ref/arc-tangent.pde | 0 test/ref/arch-100.png | Bin test/ref/arch-128.png | Bin test/ref/arch.png | Bin test/ref/array-objects.pde | 0 test/ref/array.pde | 0 test/ref/background-3-arg-3d.pde | 0 test/ref/background-3-arg-alpha-3d.pde | 0 test/ref/background-3-arg-alpha.pde | 0 test/ref/background-3-arg.pde | 0 test/ref/background-before-size.pde | 0 test/ref/background-color-1arg-2d.pde | 0 test/ref/background-color-1arg-3d.pde | 0 test/ref/background-color-1arg-alpha-2d.pde | 0 test/ref/background-color-1arg-alpha-3d.pde | 0 test/ref/background-color-3d.pde | 0 test/ref/background-color-alpha-3d.pde | 0 test/ref/background-color-alpha.pde | 0 test/ref/background-color.pde | 0 test/ref/background-gray-3d.pde | 0 test/ref/background-gray-alpha-3d.pde | 0 test/ref/background-gray-alpha.pde | 0 test/ref/background-gray.pde | 0 test/ref/background-hex-3RGB-alpha-3d.pde | 0 test/ref/background-hex-3RGB-alpha.pde | 0 test/ref/background-hex-3d.pde | 0 test/ref/background-hex-alpha-3d.pde | 0 test/ref/background-hex-alpha.pde | 0 test/ref/background-hex.pde | 0 test/ref/background-hex2-3d.pde | 0 test/ref/background-hex2.pde | 0 test/ref/background-image-3d.pde | 0 test/ref/background-image.pde | 0 test/ref/background-transparency.pde | 0 test/ref/beginEndShape-2dlines.pde | 0 test/ref/beginEndShape-2dnocloseline.pde | 0 test/ref/beginEndShape-2dnocloserectangle.pde | 0 test/ref/beginEndShape-2dnoclosetriangle.pde | 0 test/ref/beginEndShape-2dnofillrectangle.pde | 0 test/ref/beginEndShape-2dnofilltriangle.pde | 0 test/ref/beginEndShape-2dpoints.pde | 0 test/ref/beginEndShape-2dpolygon.pde | 0 test/ref/beginEndShape-2dquads.pde | 0 test/ref/beginEndShape-2dquadstrip1.pde | 0 test/ref/beginEndShape-2dquadstrip2.pde | 0 test/ref/beginEndShape-2dtrianglefan1.pde | 0 test/ref/beginEndShape-2dtrianglefan2.pde | 0 test/ref/beginEndShape-2dtriangles1.pde | 0 test/ref/beginEndShape-2dtriangles2.pde | 0 test/ref/beginEndShape-2dtrianglestrip1.pde | 0 test/ref/beginEndShape-2dtrianglestrip2.pde | 0 test/ref/beginEndShape-3demptymode.pde | 0 test/ref/beginEndShape-3dlines.pde | 0 test/ref/beginEndShape-3dnocloseline.pde | 0 test/ref/beginEndShape-3dnocloserectangle.pde | 0 test/ref/beginEndShape-3dnoclosetriangle.pde | 0 test/ref/beginEndShape-3dnofillrectangle.pde | 0 test/ref/beginEndShape-3dnofilltriangle.pde | 0 test/ref/beginEndShape-3dpoints.pde | 0 test/ref/beginEndShape-3dpolygon.pde | 0 test/ref/beginEndShape-3dquads.pde | 0 test/ref/beginEndShape-3dquadstrip1.pde | 0 test/ref/beginEndShape-3dquadstrip2.pde | 0 test/ref/beginEndShape-3dtrianglefan1.pde | 0 test/ref/beginEndShape-3dtrianglefan2.pde | 0 test/ref/beginEndShape-3dtriangles1.pde | 0 test/ref/beginEndShape-3dtriangles2.pde | 0 test/ref/beginEndShape-3dtrianglestrip1.pde | 0 test/ref/beginEndShape-3dtrianglestrip2.pde | 0 test/ref/berlin-300-npot.png | Bin test/ref/berlin.png | Bin test/ref/bezier-ellipse.pde | 0 test/ref/bezier.pde | 0 test/ref/bezier2.pde | 0 test/ref/biotyp.svg | 0 test/ref/blend-add.pde | 0 test/ref/blend-blend.pde | 0 test/ref/blend-burn.pde | 0 test/ref/blend-darkest.pde | 0 test/ref/blend-difference.pde | 0 test/ref/blend-dodge.pde | 0 test/ref/blend-exclusion.pde | 0 test/ref/blend-hard_light.pde | 0 test/ref/blend-lightest.pde | 0 test/ref/blend-multiply.pde | 0 test/ref/blend-overlay.pde | 0 test/ref/blend-screen.pde | 0 test/ref/blend-soft_light.pde | 0 test/ref/blend-subtract.pde | 0 test/ref/blendcolor-add.pde | 0 test/ref/blendcolor-blend.pde | 0 test/ref/blendcolor-burn.pde | 0 test/ref/blendcolor-darkest.pde | 0 test/ref/blendcolor-difference.pde | 0 test/ref/blendcolor-dodge.pde | 0 test/ref/blendcolor-exclusion.pde | 0 test/ref/blendcolor-hard_light.pde | 0 test/ref/blendcolor-lightest.pde | 0 test/ref/blendcolor-multiply.pde | 0 test/ref/blendcolor-overlay.pde | 0 test/ref/blendcolor-screen.pde | 0 test/ref/blendcolor-soft_light.pde | 0 test/ref/blendcolor-subtract.pde | 0 test/ref/bot1.svg | 0 test/ref/bounce.pde | 0 test/ref/bouncy-bubbles.pde | 0 test/ref/box-rotating.pde | 0 test/ref/box.pde | 0 test/ref/box_scale_3D.pde | 0 test/ref/brightness-2.pde | 0 test/ref/brightness.pde | 0 test/ref/brownian.pde | 0 test/ref/buttonSprite.png | Bin test/ref/cait.png | Bin test/ref/cdi01_g.png | Bin test/ref/circle-collision.pde | 0 test/ref/circles.pde | 0 test/ref/circles2.pde | 0 test/ref/color-wheel.pde | 0 test/ref/composite-objects.pde | 0 test/ref/conditionals1.pde | 0 test/ref/conditionals2.pde | 0 test/ref/construct.png | Bin test/ref/continuous-curve.pde | 0 test/ref/conway.pde | 0 test/ref/copy-no-source.pde | 0 test/ref/country-100.png | Bin test/ref/create-image.pde | 0 test/ref/createimage.pde | 0 test/ref/creating.pde | 0 test/ref/crisp-diagonal-lines.pde | 0 test/ref/crisp-horizontal-lines.pde | 0 test/ref/crisp-line.pde | 0 test/ref/crisp-point.pde | 0 test/ref/crisp-rect.pde | 0 test/ref/crisp-vertical-lines.pde | 0 test/ref/crispy.pde | 0 test/ref/curRectMode.pde | 0 test/ref/curve-3D.pde | 0 test/ref/curve.pde | 0 test/ref/curves.pde | 0 test/ref/datatype-conversion.pde | 0 test/ref/default_perspective.pde | 0 test/ref/default_perspective_2.pde | 0 test/ref/defaults-background_and_size.pde | 0 test/ref/directional.pde | 0 test/ref/directionalLight_p5test_1.pde | 0 test/ref/directionalLight_p5test_2.pde | 0 test/ref/directionalLight_scale.pde | 0 test/ref/disablestyle.pde | 0 test/ref/displaying.pde | 0 test/ref/distance-2d.pde | 0 test/ref/double-random.pde | 0 test/ref/eames.png | Bin test/ref/ellipse.pde | 0 test/ref/ellipseMode-3d.pde | 0 test/ref/ellipseMode-arc-3d.pde | 0 test/ref/ellipseMode-arc.pde | 0 test/ref/ellipseMode.pde | 0 test/ref/embedded-iteration.pde | 0 test/ref/emissive_p5test.pde | 0 test/ref/explode.pde | 0 test/ref/falloff-amb-1.pde | 0 test/ref/falloff-amb-2.pde | 0 test/ref/falloff-amb-3.pde | 0 test/ref/flocking.pde | 0 test/ref/graphing-2d.pde | 0 test/ref/hint_depth.pde | 0 test/ref/histogram.pde | 0 test/ref/house.png | Bin test/ref/hsb-1-ambient-3d-sphere.pde | 0 test/ref/hsb-1-dir-3d-sphere.pde | 0 test/ref/hsb-1-point-3d-sphere.pde | 0 test/ref/hsb-1-spot-3d-sphere.pde | 0 test/ref/hsb-255-ambient-3d-sphere.pde | 0 test/ref/hsb-255-dir-3d-sphere.pde | 0 test/ref/hsb-255-point-3d-sphere.pde | 0 test/ref/hsb-255-spot-3d-sphere.pde | 0 test/ref/hue.pde | 0 test/ref/icosahedron.pde | 0 test/ref/image-3d.pde | 0 test/ref/increment-or-decrement.pde | 0 test/ref/index.html | 94 +- test/ref/inheritence.pde | 0 test/ref/integers-and-floats.pde | 0 test/ref/iteration.pde | 0 test/ref/koch.pde | 0 test/ref/letters.pde | 0 test/ref/lightSpecular_p5test.pde | 0 test/ref/lights-off.pde | 0 test/ref/lights-on.pde | 0 test/ref/line-3d.pde | 0 test/ref/linear-gradient.pde | 0 test/ref/linear-image.pde | 0 test/ref/linear.pde | 0 test/ref/loadShape15.pde | 0 test/ref/logical-operators.pde | 0 test/ref/mandelbrot.pde | 0 test/ref/mask.png | Bin test/ref/material-amb-grey-1.pde | 0 test/ref/material-amb-grey-3vals.pde | 0 test/ref/material-amb-pcolor.pde | 0 test/ref/mega-rect.pde | 0 test/ref/milliseconds.pde | 0 test/ref/mixture.pde | 0 test/ref/mixturegrid.pde | 0 test/ref/modulo.pde | 0 test/ref/moveeye.pde | 0 test/ref/moving-on-curves.pde | 0 test/ref/multiple-constructors.pde | 0 test/ref/multiple-particle-systems.pde | 0 test/ref/neighborhood.pde | 0 test/ref/no-loop.pde | 0 test/ref/noise-wave.pde | 0 test/ref/noise1d.pde | 0 test/ref/noise2d.pde | 0 test/ref/noise3d.pde | 0 test/ref/operator-precedence.pde | 0 test/ref/pattern.pde | 0 test/ref/perspective.pde | 0 test/ref/pgraphics-get-3d.pde | 0 test/ref/pgraphics.pde | 0 test/ref/piechart.pde | 0 test/ref/pimage-array-mask.pde | 0 test/ref/pimage-fromImageData.pde | 0 test/ref/pimage-get-and-place.pde | 0 test/ref/pimage-get.pde | 0 test/ref/pimage-get0.pde | 0 test/ref/pimage-mask.pde | 0 test/ref/pimage-pgraphics-mask.pde | 0 test/ref/pimage-resize-bigger.pde | 0 test/ref/pimage-resize-smaller.pde | 0 test/ref/pimage-resize-x.pde | 0 test/ref/pimage-resize-y.pde | 0 test/ref/pixelarray.pde | 0 test/ref/pixels-toarray.pde | 0 test/ref/point-line-rect.pde | 0 test/ref/point-stroke-array-2d.pde | 0 test/ref/pointLight_p5test.pde | 0 test/ref/point_3D_noz.pde | 0 test/ref/point_3D_smooth.pde | 0 test/ref/point_3D_smooth_beginShape.pde | 0 test/ref/point_3D_smooth_hint_off.pde | 0 test/ref/point_3D_smooth_stroke.pde | 0 test/ref/point_3D_stroke.pde | 0 test/ref/point_3D_strokeWeight.pde | 0 test/ref/point_3D_z.pde | 0 test/ref/pointillism.pde | 0 test/ref/points-lines.pde | 0 test/ref/polar-to-cartesian.pde | 0 test/ref/pshape_ellipseMode.pde | 0 test/ref/pshape_svg.pde | 0 test/ref/puff.pde | 0 test/ref/pulses.pde | 0 test/ref/quad_3D.pde | 0 test/ref/radialgradient.pde | 0 test/ref/random.pde | 0 test/ref/reading.pde | 0 test/ref/rect-directional-light.pde | 0 test/ref/rect-quad.pde | 0 test/ref/rectMode.pde | 0 test/ref/ref-test-builder.html | 0 test/ref/reflection.pde | 0 test/ref/reflection1.pde | 0 test/ref/reflection2.pde | 0 test/ref/relativity.pde | 0 test/ref/rgb-1-ambient-3d-sphere.pde | 0 test/ref/rgb-1-dir-3d-sphere.pde | 0 test/ref/rgb-1-emissive-3d-sphere.pde | 0 test/ref/rgb-1-point-3d-sphere.pde | 0 test/ref/rgb-1-spec-3d-sphere.pde | 0 test/ref/rgb-1-spot-3d-sphere.pde | 0 test/ref/rgb-255-ambient-3d-sphere.pde | 0 test/ref/rgb-255-dir-3d-sphere.pde | 0 test/ref/rgb-255-emissive-3d-sphere.pde | 0 test/ref/rgb-255-point-3d-sphere.pde | 0 test/ref/rgb-255-spot-3d-sphere.pde | 0 test/ref/rotate.pde | 0 test/ref/rotateZ.pde | 0 test/ref/rotatepushpop.pde | 0 test/ref/rotatexy.pde | 0 test/ref/rounded-rect.pde | 0 test/ref/rounding.pde | 0 test/ref/saturation.pde | 0 test/ref/scale.pde | 0 test/ref/scribble-plotter.pde | 0 test/ref/self-1-success.pde | 0 test/ref/self-2-fail.pde | 0 test/ref/self-3-fail.pde | 0 test/ref/self-4-fail.pde | 0 test/ref/self-5-success.pde | 0 test/ref/sequential.pde | 0 test/ref/setup-noFill-noStroke.pde | 0 test/ref/shearx-3D.pde | 0 test/ref/shearx.pde | 0 test/ref/sheary-3D.pde | 0 test/ref/sheary.pde | 0 test/ref/shininess_p5test.pde | 0 test/ref/simple-particle-system.pde | 0 test/ref/sine-and-cosine.pde | 0 test/ref/sine-wave.pde | 0 test/ref/sine.pde | 0 test/ref/size-3d.pde | 0 test/ref/size-fill-rect.pde | 0 test/ref/smoke-particle-system.pde | 0 test/ref/smooth.pde | 0 test/ref/specular_p5test.pde | 0 test/ref/sphere-detail10.pde | 0 test/ref/sphere-detail200.pde | 0 test/ref/sphereDetail-3-30.pde | 0 test/ref/sphereDetail-30-3.pde | 0 test/ref/spore1.pde | 0 test/ref/spotLight_p5test.pde | 0 test/ref/stretch.pde | 0 test/ref/svg/bot.svg | 10 +- test/ref/svg/curves.svg | 0 test/ref/svg_font_biotyp.pde | 0 test/ref/target.pde | 0 test/ref/tests.js | 0 test/ref/text-align.pde | 0 test/ref/text-defaults-3D.pde | 0 test/ref/text-defaults.pde | 0 test/ref/text-leading.pde | 0 test/ref/text-unboxed-center-bottom-3D.pde | 0 test/ref/text-unboxed-center-bottom.pde | 0 test/ref/text-unboxed-center-center-3D.pde | 0 test/ref/text-unboxed-center-center.pde | 0 test/ref/text-unboxed-center-top-3D.pde | 0 test/ref/text-unboxed-center-top.pde | 0 test/ref/text-unboxed-left-bottom-3D.pde | 0 test/ref/text-unboxed-left-bottom.pde | 0 test/ref/text-unboxed-left-center-3D.pde | 0 test/ref/text-unboxed-left-center.pde | 0 test/ref/text-unboxed-left-top-3D.pde | 0 test/ref/text-unboxed-left-top.pde | 0 test/ref/text-unboxed-right-bottom-3D.pde | 0 test/ref/text-unboxed-right-bottom.pde | 0 test/ref/text-unboxed-right-center-3D.pde | 0 test/ref/text-unboxed-right-center.pde | 0 test/ref/text-unboxed-right-top-3D.pde | 0 test/ref/text-unboxed-right-top.pde | 0 test/ref/texture-image.pde | 0 test/ref/texture-uv-clamping.pde | 0 test/ref/texture.gif | Bin test/ref/texture_tint.pde | 0 test/ref/texture_tint_white.pde | 0 test/ref/textured_box_3D.pde | 0 test/ref/tint-alpha.pde | 0 test/ref/tint.pde | 0 test/ref/translate-rect.pde | 0 test/ref/translate.pde | 0 test/ref/transparent.png | Bin test/ref/trees.png | Bin test/ref/triangle-3d.pde | 0 test/ref/triangle-flower.pde | 0 test/ref/triangle-strip.pde | 0 test/ref/triangle.pde | 0 test/ref/true-false.pde | 0 test/ref/variable-scope.pde | 0 test/ref/variables.pde | 0 test/ref/vertices.pde | 0 test/ref/wash.png | Bin test/ref/wavegradient.pde | 0 test/ref/wolfram.pde | 0 test/ref/words.pde | 0 test/ref/zoom.pde | 0 {tools => test/tools}/jsbeautify.js | 0 {tools => test/tools}/processing-helper.html | 2 +- {tools => test/tools}/processing-helper.js | 10 +- test/unit/3d-transforms.pde | 0 test/unit/Iterator.pde | 0 test/unit/PMatrixStack2D.pde | 0 test/unit/PMatrixStack3D.pde | 0 test/unit/PVector-sub.pde | 0 test/unit/PVector.pde | 0 test/unit/abstractMethod.pde | 0 test/unit/arrayContains.pde | 0 test/unit/arrayCopy.pde | 0 test/unit/arrayDeclaration.pde | 0 test/unit/arrayList.pde | 0 test/unit/arrayListAddIndex.pde | 0 test/unit/arrayListInherit.pde | 0 test/unit/arrayListIterator.pde | 0 test/unit/arrayListRemove.pde | 0 test/unit/arrayListRemoveAll.pde | 0 test/unit/arrayListRemoveObject.pde | 0 test/unit/arrayListSet.pde | 0 test/unit/arrayListToArray.pde | 0 test/unit/arrayParams.pde | 0 test/unit/arrayRemove.pde | 0 test/unit/baseClassVariable.pde | 0 test/unit/binary.pde | 20 +- test/unit/blend.pde | 0 test/unit/blendcolor.pde | 0 test/unit/bracketless-else.pde | 0 test/unit/byte.pde | 0 test/unit/catchBoundries.pde | 0 test/unit/char.pde | 0 test/unit/charParser.pde | 0 test/unit/check-unit-tests.js | 0 test/unit/check-unit-tests.pde | 0 test/unit/classVars.pde | 0 test/unit/color.pde | 0 test/unit/constants.pde | 0 test/unit/constructorCallsMethod.pde | 0 test/unit/copy.pde | 0 test/unit/coveragehelper.pde | 0 test/unit/coveragehelper3D.pde | 0 test/unit/dist.pde | 0 test/unit/dollarSignCtor.pde | 0 test/unit/example-unit-tests.js | 0 test/unit/example-unit-tests.pde | 0 test/unit/expand.pde | 0 test/unit/float.pde | 0 test/unit/float2.pde | 0 test/unit/float3.pde | 0 test/unit/floor.js | 0 test/unit/foreach.pde | 2 +- test/unit/frameRate.pde | 0 test/unit/functionBeforeCtor.pde | 0 test/unit/generics.pde | 0 test/unit/hasProperty.pde | 0 test/unit/hashCode.pde | 0 test/unit/hashMapBucket.pde | 0 test/unit/hashMapIteratorRemove.pde | 0 test/unit/hashMapRebucket.pde | 0 test/unit/hashmap-iterator.pde | 0 test/unit/hashmap-toarray.pde | 0 test/unit/hashmap.pde | 4 +- test/unit/hex.pde | 0 test/unit/importBoundries.pde | 0 test/unit/inheritanceDepth.pde | 0 test/unit/inheritanceThis.pde | 0 test/unit/inlineobject.pde | 0 test/unit/instanceof.pde | 0 test/unit/int-cast.pde | 0 test/unit/int.pde | 0 test/unit/interface.pde | 0 test/unit/interfaceBoundries.pde | 0 test/unit/js.pde | 0 test/unit/lengthSpace.pde | 0 test/unit/lerp.pde | 0 test/unit/loadStrings.pde | 6 +- test/unit/mag.pde | 0 test/unit/matchAll.pde | 0 test/unit/max.pde | 0 test/unit/methodargs.pde | 0 test/unit/min.pde | 0 test/unit/model01.pde | 0 test/unit/model02.pde | 0 test/unit/model03.pde | 0 test/unit/model04.pde | 0 test/unit/model05.pde | 0 test/unit/model06.pde | 0 test/unit/model07.pde | 0 test/unit/model08.pde | 0 test/unit/model09.pde | 0 test/unit/model10.pde | 0 test/unit/model11.pde | 0 test/unit/model12.pde | 0 test/unit/model13.pde | 0 test/unit/model14.pde | 0 test/unit/model15.pde | 0 test/unit/model16.pde | 0 test/unit/model17.pde | 0 test/unit/model18.pde | 0 test/unit/model19.pde | 0 test/unit/model20.pde | 0 test/unit/model21.pde | 0 test/unit/model22.pde | 0 test/unit/model23.pde | 0 test/unit/model24.pde | 0 test/unit/model25.pde | 0 test/unit/model26.pde | 0 test/unit/model27.pde | 0 test/unit/model28.pde | 0 test/unit/nf.pde | 0 test/unit/nfc.pde | 0 test/unit/nfp.pde | 0 test/unit/nfs.pde | 0 test/unit/normal.pde | 0 test/unit/objectCasting.pde | 0 test/unit/overloadedMethodCall.pde | 0 test/unit/param.pde | 0 test/unit/paramClobber.pde | 0 test/unit/parse1.pde | 0 test/unit/parseBoolean.pde | 0 test/unit/parseClassesWithoutWith.pde | 0 test/unit/pimageget.pde | 0 test/unit/pixelsBoundries.pde | 0 test/unit/pjs-directive-complex.pde | 0 test/unit/pjs-directive-none.pde | 0 test/unit/pmatrix2d.pde | 0 test/unit/pmatrix3d.pde | 0 test/unit/printMatrix2D.pde | 0 test/unit/protofix.pde | 0 test/unit/random.pde | 0 test/unit/red_green_blue_alpha.pde | 0 test/unit/returnArray.pde | 0 test/unit/runnable.pde | 0 test/unit/sameNameParams.pde | 0 test/unit/sameNameParams2.pde | 0 test/unit/screenXY.pde | 0 test/unit/screenXYZ.pde | 0 test/unit/sort.pde | 0 test/unit/splice.pde | 0 test/unit/staticVariable.pde | 0 test/unit/str.pde | 0 test/unit/string_split.pde | 0 test/unit/strings.pde | 0 test/unit/subset.pde | 0 test/unit/super.pde | 0 test/unit/superBoundries.pde | 0 test/unit/superSuper.pde | 0 test/unit/svgShape1.pde | 7 +- test/unit/switchvar.pde | 0 test/unit/textWidth.pde | 0 test/unit/thisCtorCall.pde | 0 test/unit/ticket1025.pde | 0 test/unit/ticket1034.pde | 0 test/unit/ticket1170.pde | 0 test/unit/ticket1178.pde | 0 test/unit/ticket1334.pde | 0 test/unit/ticket1355.pde | 0 test/unit/ticket1618.pde | 0 test/unit/ticket1810.pde | 0 test/unit/ticket740.pde | 0 test/unit/ticket989.pde | 0 test/unit/toCharArray.pde | 0 test/unit/trim.pde | 0 test/unit/unbinary.pde | 0 test/unit/unhex.pde | 0 test/unit/unsupported-2D.pde | 0 test/unit/unsupported-file.pde | 0 test/unit/variableInheritance.pde | 0 test/unit/virtualToString.pde | 0 tools/closure/COPYING | 202 - tools/closure/compiler.jar | Bin 4332498 -> 0 bytes tools/fake-dom.js | 836 - tools/fake-extensions.js | 278 - tools/httpd.py | 21 - tools/jsbeautify.py | 35 - tools/jscompile.js | 8 - tools/jscoverage.js | 32 - tools/jsglobals.js | 88 - tools/jslint-cmdline.js | 52 - tools/jslint.js | 6264 --- tools/jslint.py | 39 - tools/jspreprocess.js | 24 - tools/pde2js.py | 45 - tools/ref_string.jpg | Bin 31013 -> 0 bytes tools/rewrite-pconstants.js | 54 - tools/runtests.py | 312 - tools/test-harness-lib.js | 121 - tools/test-harness.js | 149 - tools/yui/LICENSE.TXT | 54 - tools/yui/yuicompressor-2.4.6.jar | Bin 852834 -> 0 bytes 1846 files changed, 42609 insertions(+), 77449 deletions(-) mode change 100644 => 100755 .gitignore delete mode 100644 .gitmodules create mode 100755 Gruntfile.js delete mode 100644 Makefile mode change 100644 => 100755 README.md create mode 100755 build.js rename AUTHORS => bundle/AUTHORS (100%) mode change 100644 => 100755 rename CHANGELOG => bundle/CHANGELOG (100%) mode change 100644 => 100755 rename LICENSE => bundle/LICENSE (100%) mode change 100644 => 100755 rename LICENSE-HEADER => bundle/LICENSE-HEADER (100%) mode change 100644 => 100755 delete mode 100644 example.html delete mode 100644 example.pde delete mode 100644 examples/basic/additivewave.html delete mode 100644 examples/basic/alphamask.html delete mode 100644 examples/basic/arctangent.html delete mode 100644 examples/basic/arm.html delete mode 100644 examples/basic/array.html delete mode 100644 examples/basic/array2d.html delete mode 100644 examples/basic/arrayobjects.html delete mode 100644 examples/basic/backgroundimage.html delete mode 100644 examples/basic/bezier.html delete mode 100644 examples/basic/bezierellipse.html delete mode 100644 examples/basic/brightness.html delete mode 100644 examples/basic/charactersstrings.html delete mode 100644 examples/basic/clock.html delete mode 100644 examples/basic/colorwheel.html delete mode 100644 examples/basic/compositeobjects.html delete mode 100644 examples/basic/conditionals1.html delete mode 100644 examples/basic/conditionals2.html delete mode 100644 examples/basic/constrain.html delete mode 100644 examples/basic/coordinates.html delete mode 100644 examples/basic/creategraphics.html delete mode 100644 examples/basic/createimage.html delete mode 100644 examples/basic/creating.html delete mode 100644 examples/basic/data/brugges.jpg delete mode 100644 examples/basic/data/cait.jpg delete mode 100644 examples/basic/data/construct.jpg delete mode 100644 examples/basic/data/eames.jpg delete mode 100644 examples/basic/data/jelly.jpg delete mode 100644 examples/basic/data/mask.jpg delete mode 100644 examples/basic/data/milan_rubbish.jpg delete mode 100644 examples/basic/data/rathausFrog.jpg delete mode 100644 examples/basic/data/sky.jpg delete mode 100644 examples/basic/data/sunflower.jpg delete mode 100644 examples/basic/data/teddy.gif delete mode 100644 examples/basic/data/test.jpg delete mode 100644 examples/basic/data/wash.jpg delete mode 100644 examples/basic/datatypeconversion.html delete mode 100644 examples/basic/displaying.html delete mode 100644 examples/basic/distance1d.html delete mode 100644 examples/basic/distance2d.html delete mode 100644 examples/basic/doublerandom.html delete mode 100644 examples/basic/easing.html delete mode 100644 examples/basic/embeddediteration.html delete mode 100644 examples/basic/embeddedlinks.html delete mode 100644 examples/basic/functions.html delete mode 100644 examples/basic/graphing2dequation.html delete mode 100644 examples/basic/hue.html delete mode 100644 examples/basic/incrementdecrement.html delete mode 100644 examples/basic/index.html delete mode 100644 examples/basic/inheritance.html delete mode 100644 examples/basic/integersfloats.html delete mode 100644 examples/basic/iteration.html delete mode 100644 examples/basic/keyboard.html delete mode 100644 examples/basic/keyboardfunctions.html delete mode 100644 examples/basic/letters.html delete mode 100644 examples/basic/lineargradient.html delete mode 100644 examples/basic/loadingimages.html delete mode 100644 examples/basic/logicaloperators.html delete mode 100644 examples/basic/loop.html delete mode 100644 examples/basic/milliseconds.html delete mode 100644 examples/basic/modulo.html delete mode 100644 examples/basic/mouse1d.html delete mode 100644 examples/basic/mouse2d.html delete mode 100644 examples/basic/mousefunctions.html delete mode 100644 examples/basic/mouseoverandout.html delete mode 100644 examples/basic/mousepress.html delete mode 100644 examples/basic/mousesignals.html delete mode 100644 examples/basic/multipleconstructors.html delete mode 100644 examples/basic/neighborhood.html delete mode 100644 examples/basic/noise1d.html delete mode 100644 examples/basic/noise2d.html delete mode 100644 examples/basic/noise3d.html delete mode 100644 examples/basic/noisewave.html delete mode 100644 examples/basic/noloop.html delete mode 100644 examples/basic/objects.html delete mode 100644 examples/basic/operatorprecedence.html delete mode 100644 examples/basic/piechart.html delete mode 100644 examples/basic/pointillism.html delete mode 100644 examples/basic/pointslines.html delete mode 100644 examples/basic/polartocartesian.html delete mode 100644 examples/basic/radialgradient.html delete mode 100644 examples/basic/random.html delete mode 100644 examples/basic/reading.html delete mode 100644 examples/basic/recursion.html delete mode 100644 examples/basic/recursion2.html delete mode 100644 examples/basic/redraw.html delete mode 100644 examples/basic/relativity.html delete mode 100644 examples/basic/rotate.html delete mode 100644 examples/basic/saturation.html delete mode 100644 examples/basic/scale.html delete mode 100644 examples/basic/setupdraw.html delete mode 100644 examples/basic/shapeprimitives.html delete mode 100644 examples/basic/simplecurves.html delete mode 100644 examples/basic/sine.html delete mode 100644 examples/basic/sinecosine.html delete mode 100644 examples/basic/sinewave.html delete mode 100644 examples/basic/sprite.html delete mode 100644 examples/basic/statementscomments.html delete mode 100644 examples/basic/storinginput.html delete mode 100644 examples/basic/translate.html delete mode 100644 examples/basic/transparency.html delete mode 100644 examples/basic/triangleflower.html delete mode 100644 examples/basic/trianglestrip.html delete mode 100644 examples/basic/truefalse.html delete mode 100644 examples/basic/variables.html delete mode 100644 examples/basic/variablescope.html delete mode 100644 examples/basic/vertices.html delete mode 100644 examples/basic/wavegradient.html delete mode 100644 examples/basic/widthheight.html delete mode 100644 examples/basic/words.html delete mode 100644 examples/custom/data/dirt.jpg delete mode 100644 examples/custom/data/pollockShimmering.gif delete mode 100644 examples/custom/fullscreen.html delete mode 100644 examples/custom/index.html delete mode 100644 examples/custom/intersect.html delete mode 100644 examples/custom/molten.html delete mode 100644 examples/custom/snake.html delete mode 100644 examples/custom/substrate.html delete mode 100644 examples/js/3d.html delete mode 100644 examples/js/compile-lib.html delete mode 100644 examples/js/imagecache-js.html delete mode 100644 examples/js/instancelib.js delete mode 100644 examples/js/libraries.html delete mode 100644 examples/js/pjs.png delete mode 100644 examples/js/simple.html delete mode 100644 examples/js/simpler.html delete mode 100644 examples/js/sketch-event-hooks.html delete mode 100644 examples/js/staticlib.js delete mode 100644 examples/screens/Picture 14.png delete mode 100644 examples/screens/Picture 15.png delete mode 100644 examples/screens/Picture 16.png delete mode 100644 examples/screens/Picture 17.png delete mode 100644 examples/screens/Picture 18.png delete mode 100644 examples/screens/Picture 19.png delete mode 100644 examples/screens/Picture 20.png delete mode 100644 examples/screens/Picture 21.png delete mode 100644 examples/screens/Picture 22.png delete mode 100644 examples/screens/Picture 23.png delete mode 100644 examples/screens/Picture 24.png delete mode 100644 examples/screens/Picture 25.png delete mode 100644 examples/screens/Picture 26.png delete mode 100644 examples/screens/Picture 27.png delete mode 100644 examples/screens/Picture 28.png delete mode 100644 examples/screens/Picture 29.png delete mode 100644 examples/screens/Picture 30.png delete mode 100644 examples/screens/Picture 31.png delete mode 100644 examples/screens/Picture 32.png delete mode 100644 examples/screens/Picture 33.png delete mode 100644 examples/screens/Picture 34.png delete mode 100644 examples/screens/Picture 35.png delete mode 100644 examples/screens/Picture 36.png delete mode 100644 examples/screens/Picture 37.png delete mode 100644 examples/screens/Picture 38.png delete mode 100644 examples/screens/Picture 39.png delete mode 100644 examples/screens/Picture 40.png delete mode 100644 examples/screens/Picture 41.png delete mode 100644 examples/screens/Picture 42.png delete mode 100644 examples/screens/Picture 43.png delete mode 100644 examples/screens/Picture 44.png delete mode 100644 examples/screens/Picture 45.png delete mode 100644 examples/screens/Picture 46.png delete mode 100644 examples/screens/Picture 47.png delete mode 100644 examples/screens/Picture 48.png delete mode 100644 examples/screens/Picture 49.png delete mode 100644 examples/screens/Picture 50.png delete mode 100644 examples/screens/Picture 51.png delete mode 100644 examples/screens/Picture 52.png delete mode 100755 examples/seneca/Processing.reload/index.html delete mode 100755 examples/seneca/Processing.reload/sketch1.pde delete mode 100755 examples/seneca/Processing.reload/sketch2.pde delete mode 100755 examples/seneca/Processing.reload/sketch3.pde delete mode 100755 examples/seneca/Processing.reload/sketch4.pde delete mode 100755 examples/seneca/Processing.reload/sketch5.pde delete mode 100755 examples/seneca/Processing.reload/sketch6.pde delete mode 100644 examples/seneca/XMLElement/menu.xml delete mode 100644 examples/seneca/XMLElement/sites.xml delete mode 100644 examples/seneca/XMLElement/sites2.xml delete mode 100644 examples/seneca/XMLElement/xmlElementAddChild.html delete mode 100755 examples/seneca/XMLElement/xmlElementEquals.html delete mode 100644 examples/seneca/XMLElement/xmlElementGetChild.html delete mode 100644 examples/seneca/XMLElement/xmlElementGetChildCount.html delete mode 100644 examples/seneca/XMLElement/xmlElementGetContent.html delete mode 100644 examples/seneca/XMLElement/xmlElementGetName.html delete mode 100644 examples/seneca/XMLElement/xmlElementInsertChild.html delete mode 100644 examples/seneca/XMLElement/xmlElementListChildren.html delete mode 100644 examples/seneca/XMLElement/xmlElementRemoveAttribute.html delete mode 100644 examples/seneca/XMLElement/xmlElementRemoveChild.html delete mode 100644 examples/seneca/XMLElement/xmlElementRemoveChild2.html delete mode 100644 examples/seneca/XMLElement/xmlElementRemoveChildAtIndex.html delete mode 100644 examples/seneca/XMLElement/xmlElementSetAttribute.html delete mode 100644 examples/seneca/arrayCopy/arrayCopy.htm delete mode 100644 examples/seneca/arrayCopy/arrayCopy.pjs delete mode 100644 examples/seneca/begin-endShape/2d/774.html delete mode 100644 examples/seneca/begin-endShape/2d/774.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-lines/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-points/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quads/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/p5_result.png delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.html delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.pjs delete mode 100644 examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-lines/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-points/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quads/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/p5_result.png delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs delete mode 100644 examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/p5_result.png delete mode 100644 examples/seneca/bezier/bezier.html delete mode 100644 examples/seneca/bezier/bezier.pjs delete mode 100644 examples/seneca/bezier/bezier2.pjs delete mode 100644 examples/seneca/bezier/bezier_.gif delete mode 100644 examples/seneca/bezier/bezier_2.gif delete mode 100644 examples/seneca/bezier3D/bezier.html delete mode 100644 examples/seneca/bezier3D/bezier.pjs delete mode 100644 examples/seneca/bezier3D/bezier2.pjs delete mode 100644 examples/seneca/bezier3D/bezier_.gif delete mode 100644 examples/seneca/bezier3D/bezier_2.gif delete mode 100644 examples/seneca/bezier3D/jellyfish.html delete mode 100644 examples/seneca/bezier3D/jellyfish.pjs delete mode 100644 examples/seneca/bezierDetail/bezierDetail.gif delete mode 100644 examples/seneca/bezierDetail/bezierDetail.html delete mode 100644 examples/seneca/bezierDetail/bezierDetail.pjs delete mode 100644 examples/seneca/bezierTangent/bezierTangent.html delete mode 100644 examples/seneca/bezierVertex/bezierVertex.html delete mode 100644 examples/seneca/bezierVertex/bezierVertex.pjs delete mode 100644 examples/seneca/bezierVertex/bezierVertex1.pjs delete mode 100644 examples/seneca/bezierVertex/bezierVertex2.html delete mode 100644 examples/seneca/bezierVertex/bezierVertex2.pjs delete mode 100644 examples/seneca/bezierVertex/bezierVertex_.gif delete mode 100644 examples/seneca/bezierVertex/bezierVertex_2.gif delete mode 100644 examples/seneca/bezierVertex/p5_result.png delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex.html delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex.pjs delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex1.pjs delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex2.html delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex2.pjs delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex_.gif delete mode 100644 examples/seneca/bezierVertex3D/bezierVertex_2.gif delete mode 100644 examples/seneca/bezierVertex3D/p5_result.png delete mode 100644 examples/seneca/binary/binary.html delete mode 100644 examples/seneca/blendColor/blendColor.htm delete mode 100644 examples/seneca/blendColor/blendColor.pjs delete mode 100644 examples/seneca/blendColor/swatches.png delete mode 100644 examples/seneca/bug1116/index.html delete mode 100644 examples/seneca/bug1116/test.pjs delete mode 100644 examples/seneca/bug277/test1/test.html delete mode 100644 examples/seneca/bug277/test1/test.pjs delete mode 100644 examples/seneca/bug277/test2/test.html delete mode 100644 examples/seneca/bug277/test2/test.pjs delete mode 100644 examples/seneca/bug277/test3/test.html delete mode 100644 examples/seneca/bug277/test3/test.pjs delete mode 100644 examples/seneca/bug277/test4/test.html delete mode 100644 examples/seneca/bug277/test4/test.pjs delete mode 100644 examples/seneca/bug277/test5/test.html delete mode 100644 examples/seneca/bug277/test5/test.pjs delete mode 100644 examples/seneca/bug277/test6/test.html delete mode 100644 examples/seneca/bug277/test6/test.pjs delete mode 100644 examples/seneca/bug596/test1/p5_result.jpg delete mode 100644 examples/seneca/bug596/test1/test.html delete mode 100644 examples/seneca/bug596/test1/test.pjs delete mode 100644 examples/seneca/bug596/test2/p5_result.jpg delete mode 100644 examples/seneca/bug596/test2/test.html delete mode 100644 examples/seneca/bug596/test2/test.pjs delete mode 100644 examples/seneca/bug597/test1/p5_result.jpg delete mode 100644 examples/seneca/bug597/test1/test.html delete mode 100644 examples/seneca/bug597/test1/test.pjs delete mode 100644 examples/seneca/bug597/test2/p5_result.jpg delete mode 100644 examples/seneca/bug597/test2/test.html delete mode 100644 examples/seneca/bug597/test2/test.pjs delete mode 100644 examples/seneca/bug597/test3/p5_result.jpg delete mode 100644 examples/seneca/bug597/test3/test.html delete mode 100644 examples/seneca/bug597/test3/test.pjs delete mode 100644 examples/seneca/bug597/test4/p5_result.jpg delete mode 100644 examples/seneca/bug597/test4/test.html delete mode 100644 examples/seneca/bug597/test4/test.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-lines/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-noclose/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomod/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-nomodnofill/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-points_2/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-polygon/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-quads/p5_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-quadstrip/p5_result.png delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglefan/p_result.jpg delete mode 100644 examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-triangles/p5_result.png delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs delete mode 100644 examples/seneca/bug634/endShape-3dtest-trianglestrip/p5_result.jpg delete mode 100644 examples/seneca/bug634/test1/p5_result.jpg delete mode 100644 examples/seneca/bug634/test1/test.html delete mode 100644 examples/seneca/bug634/test1/test.pjs delete mode 100644 examples/seneca/bug634/test2/test.html delete mode 100644 examples/seneca/bug634/test2/test.pjs delete mode 100644 examples/seneca/bug634/test3/p5_result.jpg delete mode 100644 examples/seneca/bug634/test3/test.html delete mode 100644 examples/seneca/bug634/test3/test.pjs delete mode 100644 examples/seneca/bug634/test4/p5_result.jpg delete mode 100644 examples/seneca/bug634/test4/test.html delete mode 100644 examples/seneca/bug634/test4/test.pjs delete mode 100644 examples/seneca/bug634/test5/p5_result.jpg delete mode 100644 examples/seneca/bug634/test5/test.html delete mode 100644 examples/seneca/bug634/test5/test.pjs delete mode 100644 examples/seneca/bug634/test6/p5_result.jpg delete mode 100644 examples/seneca/bug634/test6/test.html delete mode 100644 examples/seneca/bug634/test6/test.pjs delete mode 100644 examples/seneca/bug634/test7/test.html delete mode 100644 examples/seneca/bug634/test7/test.pjs delete mode 100644 examples/seneca/bug650/tests/noclose/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/noclose/noclose.html delete mode 100644 examples/seneca/bug650/tests/noclose/noclose.pjs delete mode 100644 examples/seneca/bug650/tests/noclose/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/nomod/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/nomod/nomod.html delete mode 100644 examples/seneca/bug650/tests/nomod/nomod.pjs delete mode 100644 examples/seneca/bug650/tests/nomod/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/polygon/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/polygon/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/polygon/polygon.html delete mode 100644 examples/seneca/bug650/tests/polygon/polygon.pjs delete mode 100644 examples/seneca/bug650/tests/quad_strip/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/quad_strip/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/quad_strip/quad_strip.html delete mode 100644 examples/seneca/bug650/tests/quad_strip/quad_strip.pjs delete mode 100644 examples/seneca/bug650/tests/quads/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/quads/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/quads/quads.html delete mode 100644 examples/seneca/bug650/tests/quads/quads.pjs delete mode 100644 examples/seneca/bug650/tests/triangle_fan/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/triangle_fan/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/triangle_fan/triangle_fan.html delete mode 100644 examples/seneca/bug650/tests/triangle_fan/triangle_fan.pjs delete mode 100644 examples/seneca/bug650/tests/triangle_strip/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/triangle_strip/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/triangle_strip/triangle_strip.html delete mode 100644 examples/seneca/bug650/tests/triangle_strip/triangle_strip.pjs delete mode 100644 examples/seneca/bug650/tests/triangles/berlin-1.jpg delete mode 100644 examples/seneca/bug650/tests/triangles/p5_result.jpg delete mode 100644 examples/seneca/bug650/tests/triangles/triangles.html delete mode 100644 examples/seneca/bug650/tests/triangles/triangles.pjs delete mode 100644 examples/seneca/bug755/test.html delete mode 100644 examples/seneca/bug755/test.pjs delete mode 100644 examples/seneca/bug842/test.html delete mode 100644 examples/seneca/bug842/test.pjs delete mode 100644 examples/seneca/bug954/test.html delete mode 100644 examples/seneca/bug954/test.pjs delete mode 100755 examples/seneca/canvas properties/demo.pde delete mode 100755 examples/seneca/canvas properties/index.html delete mode 100644 examples/seneca/canvas_size/test1/canvas_size.html delete mode 100644 examples/seneca/canvas_size/test1/canvas_size.pjs delete mode 100644 examples/seneca/conflictingNames/test.html delete mode 100644 examples/seneca/conflictingNames/test.pjs delete mode 100644 examples/seneca/createGraphics3D/createGraphics2D-3D.pjs delete mode 100644 examples/seneca/createGraphics3D/createGraphics3D-2D.pjs delete mode 100644 examples/seneca/createGraphics3D/createGraphics3D-3D.pjs delete mode 100644 examples/seneca/createGraphics3D/createGraphics3D.html delete mode 100644 examples/seneca/createGraphics3D/createGraphics3D.pjs delete mode 100644 examples/seneca/cursor/cursorMode.html delete mode 100644 examples/seneca/cursor/cursorUrl.html delete mode 100644 examples/seneca/cursor/cursorimg.htm delete mode 100644 examples/seneca/cursor/cursorimg.pjs delete mode 100644 examples/seneca/cursor/download.png delete mode 100644 examples/seneca/cursor/images/3dwarro.cur delete mode 100644 examples/seneca/cursor/images/cross_rm.cur delete mode 100644 examples/seneca/cursor/images/greensmiley.cur delete mode 100644 examples/seneca/cursor/images/lwait.cur delete mode 100644 examples/seneca/cursor/images/move_i.cur delete mode 100644 examples/seneca/cursor/images/move_im.cur delete mode 100644 examples/seneca/cursor/images/no_i.cur delete mode 100644 examples/seneca/cursor/images/pen_i.cur delete mode 100644 examples/seneca/cursor/noCursor.html delete mode 100755 examples/seneca/curveVertex3D/curveVertex-PJava.png delete mode 100644 examples/seneca/curveVertex3D/curveVertex.htm delete mode 100644 examples/seneca/curveVertex3D/curveVertex.pjs delete mode 100644 examples/seneca/customFonts/example.html delete mode 100644 examples/seneca/customFonts/example.pjs delete mode 100644 examples/seneca/customFonts/yanone.ttf delete mode 100644 examples/seneca/ellipse3D/ellipse.html delete mode 100644 examples/seneca/ellipse3D/ellipse.pjs delete mode 100644 examples/seneca/ellipse3D/ellipse.png delete mode 100644 examples/seneca/ellipse3D/ellipseMode.gif delete mode 100644 examples/seneca/ellipse3D/ellipseMode.html delete mode 100644 examples/seneca/ellipse3D/ellipseMode.pjs delete mode 100755 examples/seneca/file and fragment loading (1818)/fafl.pde delete mode 100755 examples/seneca/file and fragment loading (1818)/index.html delete mode 100644 examples/seneca/fill/test1/fill_test.html delete mode 100644 examples/seneca/fill/test1/fill_test.js delete mode 100644 examples/seneca/fill/test1/p5_result.jpg delete mode 100755 examples/seneca/focus (1089)/focusblur.pde delete mode 100755 examples/seneca/focus (1089)/index.html delete mode 100755 examples/seneca/focus (1089)/pauseonblur.pde delete mode 100755 examples/seneca/fontcache (1741)/fontcache.pde delete mode 100755 examples/seneca/fontcache (1741)/index.html delete mode 100644 examples/seneca/hex/hex.pjs delete mode 100644 examples/seneca/hex/hex.png delete mode 100644 examples/seneca/hex/hextest.htm delete mode 100644 examples/seneca/imageCopy/imageCopy.html delete mode 100644 examples/seneca/imageCopy/imageCopy.pjs delete mode 100644 examples/seneca/imageCopy/test.png delete mode 100644 examples/seneca/inline/inline.htm delete mode 100755 examples/seneca/inspection (1867)/index.html delete mode 100644 examples/seneca/keyCode/keyCode.htm delete mode 100644 examples/seneca/keyCode/keyCode.pjs delete mode 100755 examples/seneca/keyEvents (1042 1065)/bypass.pde delete mode 100644 examples/seneca/keyEvents (1042 1065)/index.html delete mode 100644 examples/seneca/keyEvents (1042 1065)/keyPress.html delete mode 100755 examples/seneca/keyEvents (1042 1065)/keyevent.pde delete mode 100644 examples/seneca/keyEvents (1042 1065)/keypress.pde delete mode 100644 examples/seneca/keyEvents (1042 1065)/keypress2.pde delete mode 100755 examples/seneca/lazy loading (1186)/index.html delete mode 100755 examples/seneca/lazy loading (1186)/lorem.pde delete mode 100644 examples/seneca/lerpColor/lerpColor.html delete mode 100644 examples/seneca/line/line-3d.html delete mode 100644 examples/seneca/line/line-3d.pjs delete mode 100644 examples/seneca/loadBytes/loadBytesTest0.html delete mode 100644 examples/seneca/loadBytes/loadBytesTestFile delete mode 100644 examples/seneca/loadStrings/example.html delete mode 100644 examples/seneca/loadStrings/example.pjs delete mode 100644 examples/seneca/loadStrings/strings.txt delete mode 100755 examples/seneca/loading (95)/a3.pde delete mode 100755 examples/seneca/loading (95)/c1.pde delete mode 100755 examples/seneca/loading (95)/c10.pde delete mode 100755 examples/seneca/loading (95)/c11.pde delete mode 100755 examples/seneca/loading (95)/c3.pde delete mode 100755 examples/seneca/loading (95)/c5.pde delete mode 100755 examples/seneca/loading (95)/c6.pde delete mode 100755 examples/seneca/loading (95)/c7.pde delete mode 100755 examples/seneca/loading (95)/c8.pde delete mode 100755 examples/seneca/loading (95)/c9.pde delete mode 100755 examples/seneca/loading (95)/index.html delete mode 100644 examples/seneca/log/customLogger.html delete mode 100644 examples/seneca/log/index.html delete mode 100644 examples/seneca/log/miltipleCanvasPrint.html delete mode 100644 examples/seneca/log/simplePrint.html delete mode 100644 examples/seneca/log/test.pde delete mode 100644 examples/seneca/long/long.htm delete mode 100644 examples/seneca/long/long.pjs delete mode 100644 examples/seneca/max/maxTest1.html delete mode 100644 examples/seneca/max/maxTest2.html delete mode 100644 examples/seneca/min/minTest1.html delete mode 100644 examples/seneca/min/minTest2.html delete mode 100644 examples/seneca/mousePressed/mousePressed.html delete mode 100644 examples/seneca/mousePressed/mousePressed.pjs delete mode 100644 examples/seneca/mouseScroll/index.html delete mode 100644 examples/seneca/mouseScroll/mousescroll.pjs delete mode 100644 examples/seneca/nf/nfTest1.html delete mode 100644 examples/seneca/nf/nfTest2.html delete mode 100644 examples/seneca/param/param.html delete mode 100644 examples/seneca/param/sketch.pde delete mode 100644 examples/seneca/parseBoolean/parseBoolean.html delete mode 100644 examples/seneca/parseBoolean/parseBoolean.pjs delete mode 100644 examples/seneca/pimage/ETapple.jpg delete mode 100644 examples/seneca/pimage/arch.jpg delete mode 100644 examples/seneca/pimage/background.htm delete mode 100644 examples/seneca/pimage/background.pjs delete mode 100644 examples/seneca/pimage/basetest.htm delete mode 100644 examples/seneca/pimage/basetest.pjs delete mode 100644 examples/seneca/pimage/berlin-1.jpg delete mode 100644 examples/seneca/pimage/blend.htm delete mode 100644 examples/seneca/pimage/blend.pjs delete mode 100644 examples/seneca/pimage/blendexpected.jpg delete mode 100644 examples/seneca/pimage/castle.jpg delete mode 100644 examples/seneca/pimage/copy.htm delete mode 100644 examples/seneca/pimage/copy.pjs delete mode 100644 examples/seneca/pimage/copyexpected.jpg delete mode 100644 examples/seneca/pimage/copyimg.htm delete mode 100644 examples/seneca/pimage/copyimg.pjs delete mode 100644 examples/seneca/pimage/country.jpg delete mode 100644 examples/seneca/pimage/filter.htm delete mode 100644 examples/seneca/pimage/filter.jpg delete mode 100644 examples/seneca/pimage/filter.pjs delete mode 100644 examples/seneca/pimage/gradient.htm delete mode 100644 examples/seneca/pimage/gradient.pjs delete mode 100644 examples/seneca/pimage/green.jpg delete mode 100644 examples/seneca/pimage/imagemode.htm delete mode 100644 examples/seneca/pimage/imagemode.pjs delete mode 100644 examples/seneca/pimage/lake.jpg delete mode 100644 examples/seneca/pimage/loadimage.htm delete mode 100644 examples/seneca/pimage/loadimage.pjs delete mode 100644 examples/seneca/pimage/mask.jpg delete mode 100644 examples/seneca/pimage/masktest.htm delete mode 100644 examples/seneca/pimage/masktest.pjs delete mode 100644 examples/seneca/pimage/metamorphosis.jpg delete mode 100644 examples/seneca/pimage/moon.jpg delete mode 100644 examples/seneca/pimage/ocean.jpg delete mode 100644 examples/seneca/pimage/pimage.htm delete mode 100644 examples/seneca/pimage/pimage.pjs delete mode 100644 examples/seneca/pimage/pimage0.htm delete mode 100644 examples/seneca/pimage/pimage0.pjs delete mode 100644 examples/seneca/pimage/pimage3d.htm delete mode 100644 examples/seneca/pimage/pimage3d.pjs delete mode 100644 examples/seneca/pimage/pimageblend.htm delete mode 100644 examples/seneca/pimage/pimageblend.pjs delete mode 100644 examples/seneca/pimage/pimageblendexpected.jpg delete mode 100644 examples/seneca/pimage/pimagecopy.htm delete mode 100644 examples/seneca/pimage/pimagecopy.pjs delete mode 100644 examples/seneca/pimage/pimagefilter.htm delete mode 100644 examples/seneca/pimage/pimagefilter.pjs delete mode 100644 examples/seneca/pimage/pimagemask.htm delete mode 100644 examples/seneca/pimage/pimagemask.pjs delete mode 100644 examples/seneca/pimage/pimagepreloader.htm delete mode 100644 examples/seneca/pimage/pimagepreloader.pjs delete mode 100644 examples/seneca/pimage/pimageset.htm delete mode 100644 examples/seneca/pimage/pimageset.pjs delete mode 100644 examples/seneca/pimage/pixels.htm delete mode 100644 examples/seneca/pimage/pixels.pjs delete mode 100644 examples/seneca/pimage/red.jpg delete mode 100644 examples/seneca/pimage/ref_string.jpg delete mode 100644 examples/seneca/pimage/remoteimage.htm delete mode 100644 examples/seneca/pimage/remoteimage.pjs delete mode 100644 examples/seneca/pimage/requestimage.htm delete mode 100644 examples/seneca/pimage/requestimage.pjs delete mode 100644 examples/seneca/pimage/resize.htm delete mode 100644 examples/seneca/pimage/resize.pjs delete mode 100644 examples/seneca/pimage/resizeloop.htm delete mode 100644 examples/seneca/pimage/resizeloop.pjs delete mode 100644 examples/seneca/pimage/save.htm delete mode 100644 examples/seneca/pimage/save.pjs delete mode 100644 examples/seneca/pimage/screenana.png delete mode 100644 examples/seneca/pimage/set.htm delete mode 100644 examples/seneca/pimage/set.pjs delete mode 100644 examples/seneca/pimage/slideshow.css delete mode 100644 examples/seneca/pimage/slideshow.htm delete mode 100644 examples/seneca/pimage/slideshow.pjs delete mode 100644 examples/seneca/pimage/spotlight.htm delete mode 100644 examples/seneca/pimage/spotlight.pjs delete mode 100644 examples/seneca/pimage/string.jpg delete mode 100644 examples/seneca/pimage/test.jpg delete mode 100644 examples/seneca/pimage/texture.gif delete mode 100644 examples/seneca/pimage/thumbnail.htm delete mode 100644 examples/seneca/pimage/thumbnail.pjs delete mode 100644 examples/seneca/pimage/winter.jpg delete mode 100644 examples/seneca/pimage/wormhole.htm delete mode 100644 examples/seneca/pimage/wormhole.pjs delete mode 100644 examples/seneca/pimage/wormhole.png delete mode 100644 examples/seneca/point/demos/corban/point-3d.html delete mode 100644 examples/seneca/point/demos/corban/point-3d.pjs delete mode 100644 examples/seneca/point/demos/psys/psys.html delete mode 100644 examples/seneca/point/demos/psys/psys.pjs delete mode 100644 examples/seneca/point/demos/spiral/spiral.html delete mode 100644 examples/seneca/point/demos/spiral/spiral.pjs delete mode 100644 examples/seneca/printMatrix/print2DMatrixTest.html delete mode 100644 examples/seneca/printMatrix/print3DMatrixTest.html delete mode 100644 examples/seneca/processingInstances/instance1.pjs delete mode 100644 examples/seneca/processingInstances/instance2.pjs delete mode 100644 examples/seneca/processingInstances/instances.html delete mode 100644 examples/seneca/rect/demos/bird demo/bird.html delete mode 100644 examples/seneca/rect/demos/bird demo/bird.pjs delete mode 100644 examples/seneca/rect/demos/birds demo/birds.html delete mode 100644 examples/seneca/rect/demos/birds demo/birds.pjs delete mode 100644 examples/seneca/rect/demos/blinds/blinds.html delete mode 100644 examples/seneca/rect/demos/blinds/blinds.pjs delete mode 100644 examples/seneca/rect/tests/test1/p5_result.jpg delete mode 100644 examples/seneca/rect/tests/test1/rect.html delete mode 100644 examples/seneca/rect/tests/test1/rect.pjs delete mode 100644 examples/seneca/rect/tests/test2/p5_result.jpg delete mode 100644 examples/seneca/rect/tests/test2/rect.html delete mode 100644 examples/seneca/rect/tests/test2/rect.pjs delete mode 100644 examples/seneca/rotate/rotate.html delete mode 100644 examples/seneca/rotate/rotateX.html delete mode 100644 examples/seneca/rotate/rotateY.html delete mode 100644 examples/seneca/rotate/rotateZ.html delete mode 100644 examples/seneca/saveStrings/example.html delete mode 100644 examples/seneca/saveStrings/example.pjs delete mode 100644 examples/seneca/saveStrings/strings.txt delete mode 100644 examples/seneca/screen/XandY/screenX.html delete mode 100644 examples/seneca/screen/XandY/screenX.pjs delete mode 100644 examples/seneca/screen/XandY/screenXProjection.html delete mode 100644 examples/seneca/screen/XandY/screenXProjection.pjs delete mode 100644 examples/seneca/screen/XandY/screenY.html delete mode 100644 examples/seneca/screen/XandY/screenY.pjs delete mode 100644 examples/seneca/shape/bot.jpg delete mode 100644 examples/seneca/shape/bot.svg delete mode 100644 examples/seneca/shape/bot2.jpg delete mode 100644 examples/seneca/shape/shape.html delete mode 100644 examples/seneca/shape/shape2.html delete mode 100644 examples/seneca/shapeMode/bot.jpg delete mode 100644 examples/seneca/shapeMode/bot.svg delete mode 100644 examples/seneca/shapeMode/bot4.jpg delete mode 100644 examples/seneca/shapeMode/shapeMode.html delete mode 100644 examples/seneca/shapeMode/shapeMode2.html delete mode 100644 examples/seneca/size/size.html delete mode 100644 examples/seneca/size/size2.html delete mode 100644 examples/seneca/sphere/sphere.html delete mode 100644 examples/seneca/sphere/sphere2.html delete mode 100644 examples/seneca/sphere/sphere2.pjs delete mode 100644 examples/seneca/sphere/spheretest.js delete mode 100644 examples/seneca/status/status.html delete mode 100644 examples/seneca/stringEquals/stringEqualsTest.html delete mode 100644 examples/seneca/strokeWeight/strokeWeight.html delete mode 100644 examples/seneca/strokeWeight/strokeWeight.pjs delete mode 100755 examples/seneca/text$6/textTest1.html delete mode 100644 examples/seneca/text/textTest1.html delete mode 100644 examples/seneca/text/textTest2.html delete mode 100644 examples/seneca/text/textTest3.html delete mode 100644 examples/seneca/text/textTest4.html delete mode 100644 examples/seneca/text/textTest5.html delete mode 100644 examples/seneca/text/textTest6.html delete mode 100644 examples/seneca/text3D/text-3d.html delete mode 100644 examples/seneca/text3D/text-3d.pjs delete mode 100644 examples/seneca/textAscent/textAscent.html delete mode 100644 examples/seneca/textDescent/textDescent.html delete mode 100644 examples/seneca/textMode/textMode2D.html delete mode 100644 examples/seneca/textMode/textMode2D.pjs delete mode 100644 examples/seneca/textMode/textMode3D.html delete mode 100644 examples/seneca/textWidth/2d/demos/index.html delete mode 100644 examples/seneca/textWidth/2d/demos/poetry.js delete mode 100644 examples/seneca/textWidth/2d/tests/test.html delete mode 100644 examples/seneca/textWidth/2d/tests/test.pjs delete mode 100644 examples/seneca/textWidth/2d/tests/test2.html delete mode 100644 examples/seneca/textWidth/3d/test/test.html delete mode 100644 examples/seneca/textWidth/3d/test/test.pjs delete mode 100644 examples/seneca/textWidth/3d/test/test2.html delete mode 100644 examples/seneca/tint/string.jpg delete mode 100644 examples/seneca/tint/tint.htm delete mode 100644 examples/seneca/tint/tint.pjs delete mode 100644 examples/seneca/touchevents/multitouchevents.html delete mode 100644 examples/seneca/touchevents/simpletouchevents.html delete mode 100644 examples/seneca/triangle/p5_result.png delete mode 100644 examples/seneca/triangle/triangle-3d.html delete mode 100644 examples/seneca/triangle/triangle-3d.pjs delete mode 100644 examples/seneca/trim/trim.pjs delete mode 100644 examples/seneca/trim/trim.png delete mode 100644 examples/seneca/trim/trimtest.htm delete mode 100755 examples/seneca/xml (1806)/index.html delete mode 100755 examples/seneca/xml (1806)/test.xml delete mode 100644 examples/style.css delete mode 100644 examples/topics/animatedsprite.html delete mode 100644 examples/topics/animator.html delete mode 100644 examples/topics/anisprite.html delete mode 100644 examples/topics/blur.html delete mode 100644 examples/topics/bounce.html delete mode 100644 examples/topics/bouncybubbles.html delete mode 100644 examples/topics/brightness.html delete mode 100644 examples/topics/brownian.html delete mode 100644 examples/topics/button.html delete mode 100644 examples/topics/buttons.html delete mode 100644 examples/topics/chain.html delete mode 100644 examples/topics/circlecollision.html delete mode 100644 examples/topics/collision.html delete mode 100644 examples/topics/continuouslines.html delete mode 100644 examples/topics/convolution.html delete mode 100644 examples/topics/conway.html delete mode 100644 examples/topics/customtool.html delete mode 100644 examples/topics/data/PT_Shifty_0000.gif delete mode 100644 examples/topics/data/PT_Shifty_0001.gif delete mode 100644 examples/topics/data/PT_Shifty_0002.gif delete mode 100644 examples/topics/data/PT_Shifty_0003.gif delete mode 100644 examples/topics/data/PT_Shifty_0004.gif delete mode 100644 examples/topics/data/PT_Shifty_0005.gif delete mode 100644 examples/topics/data/PT_Shifty_0006.gif delete mode 100644 examples/topics/data/PT_Shifty_0007.gif delete mode 100644 examples/topics/data/PT_Shifty_0008.gif delete mode 100644 examples/topics/data/PT_Shifty_0009.gif delete mode 100644 examples/topics/data/PT_Shifty_0010.gif delete mode 100644 examples/topics/data/PT_Shifty_0011.gif delete mode 100644 examples/topics/data/PT_Shifty_0012.gif delete mode 100644 examples/topics/data/PT_Shifty_0013.gif delete mode 100644 examples/topics/data/PT_Shifty_0014.gif delete mode 100644 examples/topics/data/PT_Shifty_0015.gif delete mode 100644 examples/topics/data/PT_Shifty_0016.gif delete mode 100644 examples/topics/data/PT_Shifty_0017.gif delete mode 100644 examples/topics/data/PT_Shifty_0018.gif delete mode 100644 examples/topics/data/PT_Shifty_0019.gif delete mode 100644 examples/topics/data/PT_Shifty_0020.gif delete mode 100644 examples/topics/data/PT_Shifty_0021.gif delete mode 100644 examples/topics/data/PT_Shifty_0022.gif delete mode 100644 examples/topics/data/PT_Shifty_0023.gif delete mode 100644 examples/topics/data/PT_Shifty_0024.gif delete mode 100644 examples/topics/data/PT_Shifty_0025.gif delete mode 100644 examples/topics/data/PT_Shifty_0026.gif delete mode 100644 examples/topics/data/PT_Shifty_0027.gif delete mode 100644 examples/topics/data/PT_Shifty_0028.gif delete mode 100644 examples/topics/data/PT_Shifty_0029.gif delete mode 100644 examples/topics/data/PT_Shifty_0030.gif delete mode 100644 examples/topics/data/PT_Shifty_0031.gif delete mode 100644 examples/topics/data/PT_Shifty_0032.gif delete mode 100644 examples/topics/data/PT_Shifty_0033.gif delete mode 100644 examples/topics/data/PT_Shifty_0034.gif delete mode 100644 examples/topics/data/PT_Shifty_0035.gif delete mode 100644 examples/topics/data/PT_Shifty_0036.gif delete mode 100644 examples/topics/data/PT_Shifty_0037.gif delete mode 100644 examples/topics/data/PT_Teddy_0000.gif delete mode 100644 examples/topics/data/PT_Teddy_0001.gif delete mode 100644 examples/topics/data/PT_Teddy_0002.gif delete mode 100644 examples/topics/data/PT_Teddy_0003.gif delete mode 100644 examples/topics/data/PT_Teddy_0004.gif delete mode 100644 examples/topics/data/PT_Teddy_0005.gif delete mode 100644 examples/topics/data/PT_Teddy_0006.gif delete mode 100644 examples/topics/data/PT_Teddy_0007.gif delete mode 100644 examples/topics/data/PT_Teddy_0008.gif delete mode 100644 examples/topics/data/PT_Teddy_0009.gif delete mode 100644 examples/topics/data/PT_Teddy_0010.gif delete mode 100644 examples/topics/data/PT_Teddy_0011.gif delete mode 100644 examples/topics/data/PT_Teddy_0012.gif delete mode 100644 examples/topics/data/PT_Teddy_0013.gif delete mode 100644 examples/topics/data/PT_Teddy_0014.gif delete mode 100644 examples/topics/data/PT_Teddy_0015.gif delete mode 100644 examples/topics/data/PT_Teddy_0016.gif delete mode 100644 examples/topics/data/PT_Teddy_0017.gif delete mode 100644 examples/topics/data/PT_Teddy_0018.gif delete mode 100644 examples/topics/data/PT_Teddy_0019.gif delete mode 100644 examples/topics/data/PT_Teddy_0020.gif delete mode 100644 examples/topics/data/PT_Teddy_0021.gif delete mode 100644 examples/topics/data/PT_Teddy_0022.gif delete mode 100644 examples/topics/data/PT_Teddy_0023.gif delete mode 100644 examples/topics/data/PT_Teddy_0024.gif delete mode 100644 examples/topics/data/PT_Teddy_0025.gif delete mode 100644 examples/topics/data/PT_Teddy_0026.gif delete mode 100644 examples/topics/data/PT_Teddy_0027.gif delete mode 100644 examples/topics/data/PT_Teddy_0028.gif delete mode 100644 examples/topics/data/PT_Teddy_0029.gif delete mode 100644 examples/topics/data/PT_Teddy_0030.gif delete mode 100644 examples/topics/data/PT_Teddy_0031.gif delete mode 100644 examples/topics/data/PT_Teddy_0032.gif delete mode 100644 examples/topics/data/PT_Teddy_0033.gif delete mode 100644 examples/topics/data/PT_Teddy_0034.gif delete mode 100644 examples/topics/data/PT_Teddy_0035.gif delete mode 100644 examples/topics/data/PT_Teddy_0036.gif delete mode 100644 examples/topics/data/PT_Teddy_0037.gif delete mode 100644 examples/topics/data/PT_Teddy_0038.gif delete mode 100644 examples/topics/data/PT_Teddy_0039.gif delete mode 100644 examples/topics/data/PT_Teddy_0040.gif delete mode 100644 examples/topics/data/PT_Teddy_0041.gif delete mode 100644 examples/topics/data/PT_Teddy_0042.gif delete mode 100644 examples/topics/data/PT_Teddy_0043.gif delete mode 100644 examples/topics/data/PT_Teddy_0044.gif delete mode 100644 examples/topics/data/PT_Teddy_0045.gif delete mode 100644 examples/topics/data/PT_Teddy_0046.gif delete mode 100644 examples/topics/data/PT_Teddy_0047.gif delete mode 100644 examples/topics/data/PT_Teddy_0048.gif delete mode 100644 examples/topics/data/PT_Teddy_0049.gif delete mode 100644 examples/topics/data/PT_Teddy_0050.gif delete mode 100644 examples/topics/data/PT_Teddy_0051.gif delete mode 100644 examples/topics/data/PT_Teddy_0052.gif delete mode 100644 examples/topics/data/PT_Teddy_0053.gif delete mode 100644 examples/topics/data/PT_Teddy_0054.gif delete mode 100644 examples/topics/data/PT_Teddy_0055.gif delete mode 100644 examples/topics/data/PT_Teddy_0056.gif delete mode 100644 examples/topics/data/PT_Teddy_0057.gif delete mode 100644 examples/topics/data/PT_Teddy_0058.gif delete mode 100644 examples/topics/data/PT_Teddy_0059.gif delete mode 100644 examples/topics/data/PT_anim0000.gif delete mode 100644 examples/topics/data/PT_anim0001.gif delete mode 100644 examples/topics/data/PT_anim0002.gif delete mode 100644 examples/topics/data/PT_anim0003.gif delete mode 100644 examples/topics/data/PT_anim0004.gif delete mode 100644 examples/topics/data/PT_anim0005.gif delete mode 100644 examples/topics/data/PT_anim0006.gif delete mode 100644 examples/topics/data/PT_anim0007.gif delete mode 100644 examples/topics/data/PT_anim0008.gif delete mode 100644 examples/topics/data/PT_anim0009.gif delete mode 100644 examples/topics/data/PT_anim0010.gif delete mode 100644 examples/topics/data/PT_anim0011.gif delete mode 100644 examples/topics/data/base.gif delete mode 100644 examples/topics/data/cait.jpg delete mode 100644 examples/topics/data/cars2.tsv delete mode 100644 examples/topics/data/cdi01_g.jpg delete mode 100644 examples/topics/data/down.gif delete mode 100644 examples/topics/data/end.jpg delete mode 100644 examples/topics/data/florence03.jpg delete mode 100644 examples/topics/data/house.jpg delete mode 100644 examples/topics/data/milan.jpg delete mode 100644 examples/topics/data/paris.jpg delete mode 100644 examples/topics/data/positions.txt delete mode 100644 examples/topics/data/roll.gif delete mode 100644 examples/topics/data/seedBottom.jpg delete mode 100644 examples/topics/data/seedTop.jpg delete mode 100644 examples/topics/data/sunflower.jpg delete mode 100644 examples/topics/data/texture.gif delete mode 100644 examples/topics/data/trees.jpg delete mode 100644 examples/topics/data/wires.jpg delete mode 100644 examples/topics/data/ystone08.jpg delete mode 100644 examples/topics/edgedetection.html delete mode 100644 examples/topics/flocking.html delete mode 100644 examples/topics/fluid.html delete mode 100644 examples/topics/follow1.html delete mode 100644 examples/topics/follow2.html delete mode 100644 examples/topics/follow3.html delete mode 100644 examples/topics/handles.html delete mode 100644 examples/topics/histogram.html delete mode 100644 examples/topics/imagebutton.html delete mode 100644 examples/topics/index.html delete mode 100644 examples/topics/koch.html delete mode 100644 examples/topics/linear.html delete mode 100644 examples/topics/linearimage.html delete mode 100644 examples/topics/loadfile1.html delete mode 100644 examples/topics/loadfile2.html delete mode 100644 examples/topics/mandelbrot.html delete mode 100644 examples/topics/movingoncurves.html delete mode 100644 examples/topics/multipleparticlesystems.html delete mode 100644 examples/topics/pattern.html delete mode 100644 examples/topics/penrosesnowflake.html delete mode 100644 examples/topics/penrosetile.html delete mode 100644 examples/topics/pentigree.html delete mode 100644 examples/topics/pixelarray.html delete mode 100644 examples/topics/puff.html delete mode 100644 examples/topics/pulses.html delete mode 100644 examples/topics/reach1.html delete mode 100644 examples/topics/reach2.html delete mode 100644 examples/topics/reach3.html delete mode 100644 examples/topics/reflection1.html delete mode 100644 examples/topics/reflection2.html delete mode 100644 examples/topics/rollover.html delete mode 100644 examples/topics/savefile1.html delete mode 100644 examples/topics/savefile2.html delete mode 100644 examples/topics/savemanyimages.html delete mode 100644 examples/topics/saveoneimage.html delete mode 100644 examples/topics/scribbleplotter.html delete mode 100644 examples/topics/scrollbar.html delete mode 100644 examples/topics/sequential.html delete mode 100644 examples/topics/simpleparticlesystem.html delete mode 100644 examples/topics/smoke.html delete mode 100644 examples/topics/smokeparticlesystem.html delete mode 100644 examples/topics/softbody.html delete mode 100644 examples/topics/spore1.html delete mode 100644 examples/topics/spore2.html delete mode 100644 examples/topics/spring.html delete mode 100644 examples/topics/springs.html delete mode 100644 examples/topics/tickle.html delete mode 100644 examples/topics/tileimages.html delete mode 100644 examples/topics/tree.html delete mode 100644 examples/topics/wolfram.html delete mode 100644 fonts/Biotyp.svg create mode 100755 lib/Browser.js create mode 100755 lib/TestHarness.js create mode 100755 minify.js create mode 100755 package.json create mode 100755 processing.min.js create mode 100755 server.js create mode 100755 src/Helpers/ObjectIterator.js create mode 100755 src/Helpers/PConstants.js create mode 100755 src/Helpers/defaultScope.js create mode 100755 src/Helpers/finalizeProcessing.js create mode 100755 src/Helpers/virtEquals.js create mode 100755 src/Helpers/virtHashCode.js create mode 100755 src/Objects/ArrayList.js create mode 100755 src/Objects/Char.js create mode 100755 src/Objects/HashMap.js create mode 100755 src/Objects/PFont.js create mode 100755 src/Objects/PMatrix2D.js create mode 100755 src/Objects/PMatrix3D.js create mode 100755 src/Objects/PShape.js create mode 100755 src/Objects/PShapeSVG.js create mode 100755 src/Objects/PVector.js create mode 100755 src/Objects/XMLAttribute.js create mode 100755 src/Objects/XMLElement.js create mode 100755 src/Objects/webcolors.js create mode 100755 src/P5Functions/JavaProxyFunctions.js create mode 100755 src/P5Functions/Math.js create mode 100755 src/P5Functions/commonFunctions.js create mode 100755 src/P5Functions/touchmouse.js create mode 100755 src/Parser/Parser.js create mode 100755 src/Processing.js rename {extensions => src/extensions}/processing-inspector.js (100%) rename {extensions => src/extensions}/processing-lazyload.js (97%) create mode 100755 src/index.js create mode 100755 test.html create mode 100755 test.js delete mode 100644 test/KNOWN-FAILURES delete mode 100644 test/README delete mode 100644 test/lint-notes.txt delete mode 100644 test/old/ref-tests/Biotyp.svg delete mode 100644 test/old/ref-tests/ajax.me delete mode 100644 test/old/ref-tests/arc_fill.gif delete mode 100644 test/old/ref-tests/ellipse.gif delete mode 100644 test/old/ref-tests/gradient.jpeg delete mode 100644 test/old/ref-tests/green-square.gif delete mode 100644 test/old/ref-tests/index.html delete mode 100644 test/old/ref-tests/obama_smoking.jpg delete mode 100644 test/old/unit-tests/ArrayList delete mode 100644 test/old/unit-tests/ajax.me delete mode 100644 test/old/unit-tests/append delete mode 100644 test/old/unit-tests/concat delete mode 100644 test/old/unit-tests/end-of-tests delete mode 100644 test/old/unit-tests/expand delete mode 100644 test/old/unit-tests/index.html delete mode 100644 test/old/unit-tests/join delete mode 100644 test/old/unit-tests/rect delete mode 100644 test/old/unit-tests/reftest.lib delete mode 100644 test/old/unit-tests/shorten delete mode 100644 test/old/unit-tests/splice delete mode 100644 test/old/unit-tests/split delete mode 100644 test/old/unit-tests/splitTokens delete mode 100644 test/old/unit-tests/subset delete mode 100644 test/old/unit-tests/test.lib mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step00_show_map/step00_show_map.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/step01_fig1_red_dots.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/step02_fig2_varying_sizes.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/step03_fig3_red_to_blue.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/step04_fig4_blue_green.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/step05_fig5_blue_green_hsb.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/step06_fig6_two_sided_range.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/step07_fig7_two_sided_alpha.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/step08_rollovers.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/step09_rollovers_full_names.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/step10_single_rollover.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/step11_randomize_on_keypress.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/step12_randomize_with_nfp.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/step13_randomize_from_cgi.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Integrator.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/step14_integrators.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Integrator.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/step15_framerate.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Integrator.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/step16_lethargic.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Integrator.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Table.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/step17_bouncy.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/figure_01_just_points.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/figure_02_plot_title.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/figure_05_ylabels_and_ticks.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/figure_06_finalish.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07a_shape_noFill/figure_07a_shape_noFill.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07b_shape_fill/figure_07b_shape_fill.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07c_shape_close/figure_07c_shape_close.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/figure_08_draw_data_line.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/figure_09_draw_data_mixed.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/figure_10_rollovers.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/figure_11_curve.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/figure_12_area.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/figure_13_reversed.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/figure_14_bar_chart.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/figure_15_tabs.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/step_16_tabs_images.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/FloatTable.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/Integrator.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/step_17_interpolate.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch05-salaryper/step_08b_web/step_08b_web.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Place.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Slurper.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/data/zips.gz mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/round_09c_focus_handling.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordItem.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordMap.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/equator_03b.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/Node.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/file_tree_queue_08b.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FileItem.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FolderItem.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/RankedLongArray.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/filetreemap_06b.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Edge.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Node.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/step_06c_variable_size_nodes.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Edge.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Node.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/step_07c_save_pdf.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Edge.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Node.pde mode change 100644 => 100755 test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/step_08c_graphviz.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix D/_01/_01.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_01/_01.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_02/_02.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_03/_03.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_04/_04.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_05/_05.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_06/_06.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_07/_07.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_08/_08.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_09/_09.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Appendixes/Appendix E/_10/_10.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Extensions/Vision/_02/_02.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_022/page_022.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_042/page_042.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_060/page_060.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_078/page_078.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_094/page_094.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Illustrations/page_xx/page_xx.pdf mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_01_collage/_01_collage/_01_collage.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_01_collage/_02_collage/_02_collage.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_02_waves/_01_waves/_01_waves.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_02_waves/_02_waves/_02_waves.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_02_waves/_03_waves/_03_waves.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_02_waves/_04_waves/_04_waves.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_02_waves/_05_waves/_05_waves.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_03_grids/_01_grids/_01_grids.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_03_grids/_02_grids/_02_grids.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_03_grids/_03_grids/_03_grids.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_03_grids/_04_grids/_04_grids.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_03_grids/_05_grids/_05_grids.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_05_tennis/_05_tennis.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_07_typing/_07_typing.pde mode change 100644 => 100755 test/parser/Processing-Book-001/Synthesis/_08_clock/_08_clock.pde mode change 100644 => 100755 test/parser/arrayInit/1.pde mode change 100644 => 100755 test/parser/arrayInit/2.pde mode change 100644 => 100755 test/parser/arrayInit/3.pde mode change 100644 => 100755 test/parser/arrays.pde mode change 100644 => 100755 test/parser/commentStringOrder.pde mode change 100644 => 100755 test/parser/functionCtorNames.pde mode change 100644 => 100755 test/parser/interface.pde mode change 100644 => 100755 test/parser/js-extra-semi.pde mode change 100644 => 100755 test/parser/js-no-semi.pde mode change 100644 => 100755 test/parser/minified.pde mode change 100644 => 100755 test/parser/multiLineComment.pde mode change 100644 => 100755 test/parser/newline.pde mode change 100644 => 100755 test/parser/pie-chart.pde mode change 100644 => 100755 test/parser/pixels.pde mode change 100644 => 100755 test/parser/pjs-directive.pde mode change 100644 => 100755 test/parser/shiffman-test.pde mode change 100644 => 100755 test/parser/staticClass.pde mode change 100644 => 100755 test/parser/staticMethod.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/0.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/1.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/10.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/11.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/2.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/3.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/4.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/5.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/6.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/7.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/8.pde mode change 100644 => 100755 test/parser/stringParsing/doubleQuotedStrings/9.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/0.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/1.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/10.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/11.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/2.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/3.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/4.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/5.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/6.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/7.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/8.pde mode change 100644 => 100755 test/parser/stringParsing/singleQuotedStrings/9.pde mode change 100644 => 100755 test/parser/tabs.pde mode change 100644 => 100755 test/parser/ticket1018.pde mode change 100644 => 100755 test/parser/ticket1674.pde mode change 100644 => 100755 test/parser/ticket1688.pde mode change 100644 => 100755 test/parser/ticket870.pde mode change 100644 => 100755 test/perf/8-pointLights-sphere.pde mode change 100644 => 100755 test/perf/PMatrix3D-create.pde mode change 100644 => 100755 test/perf/PMatrix3D-invert.pde mode change 100644 => 100755 test/perf/PMatrix3D-multX.pde mode change 100644 => 100755 test/perf/PMatrix3D-reset.pde mode change 100644 => 100755 test/perf/PMatrix3D-rotate.pde mode change 100644 => 100755 test/perf/PMatrix3D-rotateX.pde mode change 100644 => 100755 test/perf/PMatrix3D-rotateY.pde mode change 100644 => 100755 test/perf/PMatrix3D-rotateZ.pde mode change 100644 => 100755 test/perf/PMatrix3D-scale.pde mode change 100644 => 100755 test/perf/PMatrix3D-set.pde mode change 100644 => 100755 test/perf/PMatrix3D-translate.pde mode change 100644 => 100755 test/perf/PMatrix3D-transpose.pde mode change 100644 => 100755 test/perf/alpha-transparency-mask.pde mode change 100644 => 100755 test/perf/arc.pde mode change 100644 => 100755 test/perf/arch-100.jpg mode change 100644 => 100755 test/perf/background-3D.pde mode change 100644 => 100755 test/perf/background.pde mode change 100644 => 100755 test/perf/blendcolor-add.pde mode change 100644 => 100755 test/perf/blendcolor-blend.pde mode change 100644 => 100755 test/perf/blendcolor-burn.pde mode change 100644 => 100755 test/perf/blendcolor-darkest.pde mode change 100644 => 100755 test/perf/blendcolor-difference.pde mode change 100644 => 100755 test/perf/blendcolor-dodge.pde mode change 100644 => 100755 test/perf/blendcolor-exclusion.pde mode change 100644 => 100755 test/perf/blendcolor-hard_light.pde mode change 100644 => 100755 test/perf/blendcolor-lightest.pde mode change 100644 => 100755 test/perf/blendcolor-multiply.pde mode change 100644 => 100755 test/perf/blendcolor-overlay.pde mode change 100644 => 100755 test/perf/blendcolor-screen.pde mode change 100644 => 100755 test/perf/blendcolor-soft_light.pde mode change 100644 => 100755 test/perf/blendcolor-subtract.pde mode change 100644 => 100755 test/perf/box-3D.pde mode change 100644 => 100755 test/perf/box-noFill-3D.pde mode change 100644 => 100755 test/perf/box-nostroke-3D.pde mode change 100644 => 100755 test/perf/construct.jpg mode change 100644 => 100755 test/perf/createImage.pde mode change 100644 => 100755 test/perf/directionalLight-sphere-100.pde mode change 100644 => 100755 test/perf/directionalLight-sphere-50.pde mode change 100644 => 100755 test/perf/empty-baseline.pde mode change 100644 => 100755 test/perf/get-3d.pde mode change 100644 => 100755 test/perf/get.pde mode change 100644 => 100755 test/perf/image-fractional-coords.pde mode change 100644 => 100755 test/perf/image-whole-coords.pde mode change 100644 => 100755 test/perf/index.html mode change 100644 => 100755 test/perf/lerpcolor-hsb.pde mode change 100644 => 100755 test/perf/lerpcolor-rgb.pde mode change 100644 => 100755 test/perf/line-3D.pde mode change 100644 => 100755 test/perf/line-crisp.pde mode change 100644 => 100755 test/perf/line-notcrisp.pde mode change 100644 => 100755 test/perf/loadImage.pde mode change 100644 => 100755 test/perf/perf_lake.jpg mode change 100644 => 100755 test/perf/perf_string.jpg mode change 100644 => 100755 test/perf/pimage-blend-add.pde mode change 100644 => 100755 test/perf/pimage-blend-blend.pde mode change 100644 => 100755 test/perf/pimage-blend-burn.pde mode change 100644 => 100755 test/perf/pimage-blend-darkest.pde mode change 100644 => 100755 test/perf/pimage-blend-difference.pde mode change 100644 => 100755 test/perf/pimage-blend-dodge.pde mode change 100644 => 100755 test/perf/pimage-blend-exclusion.pde mode change 100644 => 100755 test/perf/pimage-blend-hardlight.pde mode change 100644 => 100755 test/perf/pimage-blend-lightest.pde mode change 100644 => 100755 test/perf/pimage-blend-multiply.pde mode change 100644 => 100755 test/perf/pimage-blend-overlay.pde mode change 100644 => 100755 test/perf/pimage-blend-screen.pde mode change 100644 => 100755 test/perf/pimage-blend-softlight.pde mode change 100644 => 100755 test/perf/pimage-blend-subtract.pde mode change 100644 => 100755 test/perf/pimage-copy.pde mode change 100644 => 100755 test/perf/pimage-filter-blur3.pde mode change 100644 => 100755 test/perf/pimage-filter-dilate.pde mode change 100644 => 100755 test/perf/pimage-filter-erode.pde mode change 100644 => 100755 test/perf/pimage-filter-gray.pde mode change 100644 => 100755 test/perf/pimage-filter-invert.pde mode change 100644 => 100755 test/perf/pimage-filter-opaque.pde mode change 100644 => 100755 test/perf/pimage-filter-posterize4.pde mode change 100644 => 100755 test/perf/pimage-filter-threshold.pde mode change 100644 => 100755 test/perf/pimage-mask-image.pde mode change 100644 => 100755 test/perf/pimage-resize.pde mode change 100644 => 100755 test/perf/plants.pde mode change 100644 => 100755 test/perf/point-1000-3D.pde mode change 100644 => 100755 test/perf/point-3D.pde mode change 100644 => 100755 test/perf/point-arc.pde mode change 100644 => 100755 test/perf/point-crisp.pde mode change 100644 => 100755 test/perf/point-notcrisp.pde mode change 100644 => 100755 test/perf/pointLight-sphere-100.pde mode change 100644 => 100755 test/perf/pointLight-sphere-50.pde mode change 100644 => 100755 test/perf/pvector-add.pde mode change 100644 => 100755 test/perf/pvector-anglebetween.pde mode change 100644 => 100755 test/perf/pvector-array.pde mode change 100644 => 100755 test/perf/pvector-cross.pde mode change 100644 => 100755 test/perf/pvector-ctor.pde mode change 100644 => 100755 test/perf/pvector-dist.pde mode change 100644 => 100755 test/perf/pvector-div.pde mode change 100644 => 100755 test/perf/pvector-dot.pde mode change 100644 => 100755 test/perf/pvector-get.pde mode change 100644 => 100755 test/perf/pvector-limit.pde mode change 100644 => 100755 test/perf/pvector-mag.pde mode change 100644 => 100755 test/perf/pvector-mult.pde mode change 100644 => 100755 test/perf/pvector-normalize.pde mode change 100644 => 100755 test/perf/pvector-set.pde mode change 100644 => 100755 test/perf/pvector-sub.pde mode change 100644 => 100755 test/perf/quad-notexture.pde mode change 100644 => 100755 test/perf/quad-texture.pde mode change 100644 => 100755 test/perf/rainbow-spirograph.pde mode change 100644 => 100755 test/perf/random-ellipse.pde mode change 100644 => 100755 test/perf/random-fill.pde mode change 100644 => 100755 test/perf/random-line.pde mode change 100644 => 100755 test/perf/random-point.pde mode change 100644 => 100755 test/perf/rect-3D.pde mode change 100644 => 100755 test/perf/rect-crisp.pde mode change 100644 => 100755 test/perf/rect-notcrisp.pde mode change 100644 => 100755 test/perf/shape-3D.pde mode change 100644 => 100755 test/perf/shininess.pde mode change 100644 => 100755 test/perf/sphere-3D.pde mode change 100644 => 100755 test/perf/sphere-noFill-3D.pde mode change 100644 => 100755 test/perf/spouch.png mode change 100644 => 100755 test/perf/tests.js mode change 100644 => 100755 test/perf/tint.pde mode change 100644 => 100755 test/perf/transparent-background.pde mode change 100644 => 100755 test/perf/triangle-3D.pde mode change 100644 => 100755 test/perf/triangle.pde mode change 100644 => 100755 test/perf/wash.jpg mode change 100644 => 100755 test/ref/3d-arc-4-combo.pde mode change 100644 => 100755 test/ref/3d-ellipse-fill-noFill-stoke-noStroke.pde mode change 100644 => 100755 test/ref/PT_anim0000.gif mode change 100644 => 100755 test/ref/PT_anim0001.gif mode change 100644 => 100755 test/ref/PT_anim0002.gif mode change 100644 => 100755 test/ref/PT_anim0003.gif mode change 100644 => 100755 test/ref/PT_anim0004.gif mode change 100644 => 100755 test/ref/PT_anim0005.gif mode change 100644 => 100755 test/ref/PT_anim0006.gif mode change 100644 => 100755 test/ref/PT_anim0007.gif mode change 100644 => 100755 test/ref/PT_anim0008.gif mode change 100644 => 100755 test/ref/PT_anim0009.gif mode change 100644 => 100755 test/ref/PT_anim0010.gif mode change 100644 => 100755 test/ref/PT_anim0011.gif mode change 100644 => 100755 test/ref/additive-wave.pde mode change 100644 => 100755 test/ref/ambientLight_1.pde mode change 100644 => 100755 test/ref/ambientLight_p5test_1.pde mode change 100644 => 100755 test/ref/ambientLight_p5test_2.pde mode change 100644 => 100755 test/ref/ambient_p5test.pde mode change 100644 => 100755 test/ref/applyMatrix.pde mode change 100644 => 100755 test/ref/arc-fill-crisp.pde mode change 100644 => 100755 test/ref/arc-tangent.pde mode change 100644 => 100755 test/ref/arch-100.png mode change 100644 => 100755 test/ref/arch-128.png mode change 100644 => 100755 test/ref/arch.png mode change 100644 => 100755 test/ref/array-objects.pde mode change 100644 => 100755 test/ref/array.pde mode change 100644 => 100755 test/ref/background-3-arg-3d.pde mode change 100644 => 100755 test/ref/background-3-arg-alpha-3d.pde mode change 100644 => 100755 test/ref/background-3-arg-alpha.pde mode change 100644 => 100755 test/ref/background-3-arg.pde mode change 100644 => 100755 test/ref/background-before-size.pde mode change 100644 => 100755 test/ref/background-color-1arg-2d.pde mode change 100644 => 100755 test/ref/background-color-1arg-3d.pde mode change 100644 => 100755 test/ref/background-color-1arg-alpha-2d.pde mode change 100644 => 100755 test/ref/background-color-1arg-alpha-3d.pde mode change 100644 => 100755 test/ref/background-color-3d.pde mode change 100644 => 100755 test/ref/background-color-alpha-3d.pde mode change 100644 => 100755 test/ref/background-color-alpha.pde mode change 100644 => 100755 test/ref/background-color.pde mode change 100644 => 100755 test/ref/background-gray-3d.pde mode change 100644 => 100755 test/ref/background-gray-alpha-3d.pde mode change 100644 => 100755 test/ref/background-gray-alpha.pde mode change 100644 => 100755 test/ref/background-gray.pde mode change 100644 => 100755 test/ref/background-hex-3RGB-alpha-3d.pde mode change 100644 => 100755 test/ref/background-hex-3RGB-alpha.pde mode change 100644 => 100755 test/ref/background-hex-3d.pde mode change 100644 => 100755 test/ref/background-hex-alpha-3d.pde mode change 100644 => 100755 test/ref/background-hex-alpha.pde mode change 100644 => 100755 test/ref/background-hex.pde mode change 100644 => 100755 test/ref/background-hex2-3d.pde mode change 100644 => 100755 test/ref/background-hex2.pde mode change 100644 => 100755 test/ref/background-image-3d.pde mode change 100644 => 100755 test/ref/background-image.pde mode change 100644 => 100755 test/ref/background-transparency.pde mode change 100644 => 100755 test/ref/beginEndShape-2dlines.pde mode change 100644 => 100755 test/ref/beginEndShape-2dnocloseline.pde mode change 100644 => 100755 test/ref/beginEndShape-2dnocloserectangle.pde mode change 100644 => 100755 test/ref/beginEndShape-2dnoclosetriangle.pde mode change 100644 => 100755 test/ref/beginEndShape-2dnofillrectangle.pde mode change 100644 => 100755 test/ref/beginEndShape-2dnofilltriangle.pde mode change 100644 => 100755 test/ref/beginEndShape-2dpoints.pde mode change 100644 => 100755 test/ref/beginEndShape-2dpolygon.pde mode change 100644 => 100755 test/ref/beginEndShape-2dquads.pde mode change 100644 => 100755 test/ref/beginEndShape-2dquadstrip1.pde mode change 100644 => 100755 test/ref/beginEndShape-2dquadstrip2.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtrianglefan1.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtrianglefan2.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtriangles1.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtriangles2.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtrianglestrip1.pde mode change 100644 => 100755 test/ref/beginEndShape-2dtrianglestrip2.pde mode change 100644 => 100755 test/ref/beginEndShape-3demptymode.pde mode change 100644 => 100755 test/ref/beginEndShape-3dlines.pde mode change 100644 => 100755 test/ref/beginEndShape-3dnocloseline.pde mode change 100644 => 100755 test/ref/beginEndShape-3dnocloserectangle.pde mode change 100644 => 100755 test/ref/beginEndShape-3dnoclosetriangle.pde mode change 100644 => 100755 test/ref/beginEndShape-3dnofillrectangle.pde mode change 100644 => 100755 test/ref/beginEndShape-3dnofilltriangle.pde mode change 100644 => 100755 test/ref/beginEndShape-3dpoints.pde mode change 100644 => 100755 test/ref/beginEndShape-3dpolygon.pde mode change 100644 => 100755 test/ref/beginEndShape-3dquads.pde mode change 100644 => 100755 test/ref/beginEndShape-3dquadstrip1.pde mode change 100644 => 100755 test/ref/beginEndShape-3dquadstrip2.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtrianglefan1.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtrianglefan2.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtriangles1.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtriangles2.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtrianglestrip1.pde mode change 100644 => 100755 test/ref/beginEndShape-3dtrianglestrip2.pde mode change 100644 => 100755 test/ref/berlin-300-npot.png mode change 100644 => 100755 test/ref/berlin.png mode change 100644 => 100755 test/ref/bezier-ellipse.pde mode change 100644 => 100755 test/ref/bezier.pde mode change 100644 => 100755 test/ref/bezier2.pde mode change 100644 => 100755 test/ref/biotyp.svg mode change 100644 => 100755 test/ref/blend-add.pde mode change 100644 => 100755 test/ref/blend-blend.pde mode change 100644 => 100755 test/ref/blend-burn.pde mode change 100644 => 100755 test/ref/blend-darkest.pde mode change 100644 => 100755 test/ref/blend-difference.pde mode change 100644 => 100755 test/ref/blend-dodge.pde mode change 100644 => 100755 test/ref/blend-exclusion.pde mode change 100644 => 100755 test/ref/blend-hard_light.pde mode change 100644 => 100755 test/ref/blend-lightest.pde mode change 100644 => 100755 test/ref/blend-multiply.pde mode change 100644 => 100755 test/ref/blend-overlay.pde mode change 100644 => 100755 test/ref/blend-screen.pde mode change 100644 => 100755 test/ref/blend-soft_light.pde mode change 100644 => 100755 test/ref/blend-subtract.pde mode change 100644 => 100755 test/ref/blendcolor-add.pde mode change 100644 => 100755 test/ref/blendcolor-blend.pde mode change 100644 => 100755 test/ref/blendcolor-burn.pde mode change 100644 => 100755 test/ref/blendcolor-darkest.pde mode change 100644 => 100755 test/ref/blendcolor-difference.pde mode change 100644 => 100755 test/ref/blendcolor-dodge.pde mode change 100644 => 100755 test/ref/blendcolor-exclusion.pde mode change 100644 => 100755 test/ref/blendcolor-hard_light.pde mode change 100644 => 100755 test/ref/blendcolor-lightest.pde mode change 100644 => 100755 test/ref/blendcolor-multiply.pde mode change 100644 => 100755 test/ref/blendcolor-overlay.pde mode change 100644 => 100755 test/ref/blendcolor-screen.pde mode change 100644 => 100755 test/ref/blendcolor-soft_light.pde mode change 100644 => 100755 test/ref/blendcolor-subtract.pde mode change 100644 => 100755 test/ref/bot1.svg mode change 100644 => 100755 test/ref/bounce.pde mode change 100644 => 100755 test/ref/bouncy-bubbles.pde mode change 100644 => 100755 test/ref/box-rotating.pde mode change 100644 => 100755 test/ref/box.pde mode change 100644 => 100755 test/ref/box_scale_3D.pde mode change 100644 => 100755 test/ref/brightness-2.pde mode change 100644 => 100755 test/ref/brightness.pde mode change 100644 => 100755 test/ref/brownian.pde mode change 100644 => 100755 test/ref/buttonSprite.png mode change 100644 => 100755 test/ref/cait.png mode change 100644 => 100755 test/ref/cdi01_g.png mode change 100644 => 100755 test/ref/circle-collision.pde mode change 100644 => 100755 test/ref/circles.pde mode change 100644 => 100755 test/ref/circles2.pde mode change 100644 => 100755 test/ref/color-wheel.pde mode change 100644 => 100755 test/ref/composite-objects.pde mode change 100644 => 100755 test/ref/conditionals1.pde mode change 100644 => 100755 test/ref/conditionals2.pde mode change 100644 => 100755 test/ref/construct.png mode change 100644 => 100755 test/ref/continuous-curve.pde mode change 100644 => 100755 test/ref/conway.pde mode change 100644 => 100755 test/ref/copy-no-source.pde mode change 100644 => 100755 test/ref/country-100.png mode change 100644 => 100755 test/ref/create-image.pde mode change 100644 => 100755 test/ref/createimage.pde mode change 100644 => 100755 test/ref/creating.pde mode change 100644 => 100755 test/ref/crisp-diagonal-lines.pde mode change 100644 => 100755 test/ref/crisp-horizontal-lines.pde mode change 100644 => 100755 test/ref/crisp-line.pde mode change 100644 => 100755 test/ref/crisp-point.pde mode change 100644 => 100755 test/ref/crisp-rect.pde mode change 100644 => 100755 test/ref/crisp-vertical-lines.pde mode change 100644 => 100755 test/ref/crispy.pde mode change 100644 => 100755 test/ref/curRectMode.pde mode change 100644 => 100755 test/ref/curve-3D.pde mode change 100644 => 100755 test/ref/curve.pde mode change 100644 => 100755 test/ref/curves.pde mode change 100644 => 100755 test/ref/datatype-conversion.pde mode change 100644 => 100755 test/ref/default_perspective.pde mode change 100644 => 100755 test/ref/default_perspective_2.pde mode change 100644 => 100755 test/ref/defaults-background_and_size.pde mode change 100644 => 100755 test/ref/directional.pde mode change 100644 => 100755 test/ref/directionalLight_p5test_1.pde mode change 100644 => 100755 test/ref/directionalLight_p5test_2.pde mode change 100644 => 100755 test/ref/directionalLight_scale.pde mode change 100644 => 100755 test/ref/disablestyle.pde mode change 100644 => 100755 test/ref/displaying.pde mode change 100644 => 100755 test/ref/distance-2d.pde mode change 100644 => 100755 test/ref/double-random.pde mode change 100644 => 100755 test/ref/eames.png mode change 100644 => 100755 test/ref/ellipse.pde mode change 100644 => 100755 test/ref/ellipseMode-3d.pde mode change 100644 => 100755 test/ref/ellipseMode-arc-3d.pde mode change 100644 => 100755 test/ref/ellipseMode-arc.pde mode change 100644 => 100755 test/ref/ellipseMode.pde mode change 100644 => 100755 test/ref/embedded-iteration.pde mode change 100644 => 100755 test/ref/emissive_p5test.pde mode change 100644 => 100755 test/ref/explode.pde mode change 100644 => 100755 test/ref/falloff-amb-1.pde mode change 100644 => 100755 test/ref/falloff-amb-2.pde mode change 100644 => 100755 test/ref/falloff-amb-3.pde mode change 100644 => 100755 test/ref/flocking.pde mode change 100644 => 100755 test/ref/graphing-2d.pde mode change 100644 => 100755 test/ref/hint_depth.pde mode change 100644 => 100755 test/ref/histogram.pde mode change 100644 => 100755 test/ref/house.png mode change 100644 => 100755 test/ref/hsb-1-ambient-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-1-dir-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-1-point-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-1-spot-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-255-ambient-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-255-dir-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-255-point-3d-sphere.pde mode change 100644 => 100755 test/ref/hsb-255-spot-3d-sphere.pde mode change 100644 => 100755 test/ref/hue.pde mode change 100644 => 100755 test/ref/icosahedron.pde mode change 100644 => 100755 test/ref/image-3d.pde mode change 100644 => 100755 test/ref/increment-or-decrement.pde mode change 100644 => 100755 test/ref/index.html mode change 100644 => 100755 test/ref/inheritence.pde mode change 100644 => 100755 test/ref/integers-and-floats.pde mode change 100644 => 100755 test/ref/iteration.pde mode change 100644 => 100755 test/ref/koch.pde mode change 100644 => 100755 test/ref/letters.pde mode change 100644 => 100755 test/ref/lightSpecular_p5test.pde mode change 100644 => 100755 test/ref/lights-off.pde mode change 100644 => 100755 test/ref/lights-on.pde mode change 100644 => 100755 test/ref/line-3d.pde mode change 100644 => 100755 test/ref/linear-gradient.pde mode change 100644 => 100755 test/ref/linear-image.pde mode change 100644 => 100755 test/ref/linear.pde mode change 100644 => 100755 test/ref/loadShape15.pde mode change 100644 => 100755 test/ref/logical-operators.pde mode change 100644 => 100755 test/ref/mandelbrot.pde mode change 100644 => 100755 test/ref/mask.png mode change 100644 => 100755 test/ref/material-amb-grey-1.pde mode change 100644 => 100755 test/ref/material-amb-grey-3vals.pde mode change 100644 => 100755 test/ref/material-amb-pcolor.pde mode change 100644 => 100755 test/ref/mega-rect.pde mode change 100644 => 100755 test/ref/milliseconds.pde mode change 100644 => 100755 test/ref/mixture.pde mode change 100644 => 100755 test/ref/mixturegrid.pde mode change 100644 => 100755 test/ref/modulo.pde mode change 100644 => 100755 test/ref/moveeye.pde mode change 100644 => 100755 test/ref/moving-on-curves.pde mode change 100644 => 100755 test/ref/multiple-constructors.pde mode change 100644 => 100755 test/ref/multiple-particle-systems.pde mode change 100644 => 100755 test/ref/neighborhood.pde mode change 100644 => 100755 test/ref/no-loop.pde mode change 100644 => 100755 test/ref/noise-wave.pde mode change 100644 => 100755 test/ref/noise1d.pde mode change 100644 => 100755 test/ref/noise2d.pde mode change 100644 => 100755 test/ref/noise3d.pde mode change 100644 => 100755 test/ref/operator-precedence.pde mode change 100644 => 100755 test/ref/pattern.pde mode change 100644 => 100755 test/ref/perspective.pde mode change 100644 => 100755 test/ref/pgraphics-get-3d.pde mode change 100644 => 100755 test/ref/pgraphics.pde mode change 100644 => 100755 test/ref/piechart.pde mode change 100644 => 100755 test/ref/pimage-array-mask.pde mode change 100644 => 100755 test/ref/pimage-fromImageData.pde mode change 100644 => 100755 test/ref/pimage-get-and-place.pde mode change 100644 => 100755 test/ref/pimage-get.pde mode change 100644 => 100755 test/ref/pimage-get0.pde mode change 100644 => 100755 test/ref/pimage-mask.pde mode change 100644 => 100755 test/ref/pimage-pgraphics-mask.pde mode change 100644 => 100755 test/ref/pimage-resize-bigger.pde mode change 100644 => 100755 test/ref/pimage-resize-smaller.pde mode change 100644 => 100755 test/ref/pimage-resize-x.pde mode change 100644 => 100755 test/ref/pimage-resize-y.pde mode change 100644 => 100755 test/ref/pixelarray.pde mode change 100644 => 100755 test/ref/pixels-toarray.pde mode change 100644 => 100755 test/ref/point-line-rect.pde mode change 100644 => 100755 test/ref/point-stroke-array-2d.pde mode change 100644 => 100755 test/ref/pointLight_p5test.pde mode change 100644 => 100755 test/ref/point_3D_noz.pde mode change 100644 => 100755 test/ref/point_3D_smooth.pde mode change 100644 => 100755 test/ref/point_3D_smooth_beginShape.pde mode change 100644 => 100755 test/ref/point_3D_smooth_hint_off.pde mode change 100644 => 100755 test/ref/point_3D_smooth_stroke.pde mode change 100644 => 100755 test/ref/point_3D_stroke.pde mode change 100644 => 100755 test/ref/point_3D_strokeWeight.pde mode change 100644 => 100755 test/ref/point_3D_z.pde mode change 100644 => 100755 test/ref/pointillism.pde mode change 100644 => 100755 test/ref/points-lines.pde mode change 100644 => 100755 test/ref/polar-to-cartesian.pde mode change 100644 => 100755 test/ref/pshape_ellipseMode.pde mode change 100644 => 100755 test/ref/pshape_svg.pde mode change 100644 => 100755 test/ref/puff.pde mode change 100644 => 100755 test/ref/pulses.pde mode change 100644 => 100755 test/ref/quad_3D.pde mode change 100644 => 100755 test/ref/radialgradient.pde mode change 100644 => 100755 test/ref/random.pde mode change 100644 => 100755 test/ref/reading.pde mode change 100644 => 100755 test/ref/rect-directional-light.pde mode change 100644 => 100755 test/ref/rect-quad.pde mode change 100644 => 100755 test/ref/rectMode.pde mode change 100644 => 100755 test/ref/ref-test-builder.html mode change 100644 => 100755 test/ref/reflection.pde mode change 100644 => 100755 test/ref/reflection1.pde mode change 100644 => 100755 test/ref/reflection2.pde mode change 100644 => 100755 test/ref/relativity.pde mode change 100644 => 100755 test/ref/rgb-1-ambient-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-1-dir-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-1-emissive-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-1-point-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-1-spec-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-1-spot-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-255-ambient-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-255-dir-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-255-emissive-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-255-point-3d-sphere.pde mode change 100644 => 100755 test/ref/rgb-255-spot-3d-sphere.pde mode change 100644 => 100755 test/ref/rotate.pde mode change 100644 => 100755 test/ref/rotateZ.pde mode change 100644 => 100755 test/ref/rotatepushpop.pde mode change 100644 => 100755 test/ref/rotatexy.pde mode change 100644 => 100755 test/ref/rounded-rect.pde mode change 100644 => 100755 test/ref/rounding.pde mode change 100644 => 100755 test/ref/saturation.pde mode change 100644 => 100755 test/ref/scale.pde mode change 100644 => 100755 test/ref/scribble-plotter.pde mode change 100644 => 100755 test/ref/self-1-success.pde mode change 100644 => 100755 test/ref/self-2-fail.pde mode change 100644 => 100755 test/ref/self-3-fail.pde mode change 100644 => 100755 test/ref/self-4-fail.pde mode change 100644 => 100755 test/ref/self-5-success.pde mode change 100644 => 100755 test/ref/sequential.pde mode change 100644 => 100755 test/ref/setup-noFill-noStroke.pde mode change 100644 => 100755 test/ref/shearx-3D.pde mode change 100644 => 100755 test/ref/shearx.pde mode change 100644 => 100755 test/ref/sheary-3D.pde mode change 100644 => 100755 test/ref/sheary.pde mode change 100644 => 100755 test/ref/shininess_p5test.pde mode change 100644 => 100755 test/ref/simple-particle-system.pde mode change 100644 => 100755 test/ref/sine-and-cosine.pde mode change 100644 => 100755 test/ref/sine-wave.pde mode change 100644 => 100755 test/ref/sine.pde mode change 100644 => 100755 test/ref/size-3d.pde mode change 100644 => 100755 test/ref/size-fill-rect.pde mode change 100644 => 100755 test/ref/smoke-particle-system.pde mode change 100644 => 100755 test/ref/smooth.pde mode change 100644 => 100755 test/ref/specular_p5test.pde mode change 100644 => 100755 test/ref/sphere-detail10.pde mode change 100644 => 100755 test/ref/sphere-detail200.pde mode change 100644 => 100755 test/ref/sphereDetail-3-30.pde mode change 100644 => 100755 test/ref/sphereDetail-30-3.pde mode change 100644 => 100755 test/ref/spore1.pde mode change 100644 => 100755 test/ref/spotLight_p5test.pde mode change 100644 => 100755 test/ref/stretch.pde mode change 100644 => 100755 test/ref/svg/curves.svg mode change 100644 => 100755 test/ref/svg_font_biotyp.pde mode change 100644 => 100755 test/ref/target.pde mode change 100644 => 100755 test/ref/tests.js mode change 100644 => 100755 test/ref/text-align.pde mode change 100644 => 100755 test/ref/text-defaults-3D.pde mode change 100644 => 100755 test/ref/text-defaults.pde mode change 100644 => 100755 test/ref/text-leading.pde mode change 100644 => 100755 test/ref/text-unboxed-center-bottom-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-center-bottom.pde mode change 100644 => 100755 test/ref/text-unboxed-center-center-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-center-center.pde mode change 100644 => 100755 test/ref/text-unboxed-center-top-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-center-top.pde mode change 100644 => 100755 test/ref/text-unboxed-left-bottom-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-left-bottom.pde mode change 100644 => 100755 test/ref/text-unboxed-left-center-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-left-center.pde mode change 100644 => 100755 test/ref/text-unboxed-left-top-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-left-top.pde mode change 100644 => 100755 test/ref/text-unboxed-right-bottom-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-right-bottom.pde mode change 100644 => 100755 test/ref/text-unboxed-right-center-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-right-center.pde mode change 100644 => 100755 test/ref/text-unboxed-right-top-3D.pde mode change 100644 => 100755 test/ref/text-unboxed-right-top.pde mode change 100644 => 100755 test/ref/texture-image.pde mode change 100644 => 100755 test/ref/texture-uv-clamping.pde mode change 100644 => 100755 test/ref/texture.gif mode change 100644 => 100755 test/ref/texture_tint.pde mode change 100644 => 100755 test/ref/texture_tint_white.pde mode change 100644 => 100755 test/ref/textured_box_3D.pde mode change 100644 => 100755 test/ref/tint-alpha.pde mode change 100644 => 100755 test/ref/tint.pde mode change 100644 => 100755 test/ref/translate-rect.pde mode change 100644 => 100755 test/ref/translate.pde mode change 100644 => 100755 test/ref/transparent.png mode change 100644 => 100755 test/ref/trees.png mode change 100644 => 100755 test/ref/triangle-3d.pde mode change 100644 => 100755 test/ref/triangle-flower.pde mode change 100644 => 100755 test/ref/triangle-strip.pde mode change 100644 => 100755 test/ref/triangle.pde mode change 100644 => 100755 test/ref/true-false.pde mode change 100644 => 100755 test/ref/variable-scope.pde mode change 100644 => 100755 test/ref/variables.pde mode change 100644 => 100755 test/ref/vertices.pde mode change 100644 => 100755 test/ref/wash.png mode change 100644 => 100755 test/ref/wavegradient.pde mode change 100644 => 100755 test/ref/wolfram.pde mode change 100644 => 100755 test/ref/words.pde mode change 100644 => 100755 test/ref/zoom.pde rename {tools => test/tools}/jsbeautify.js (100%) mode change 100644 => 100755 rename {tools => test/tools}/processing-helper.html (95%) mode change 100644 => 100755 rename {tools => test/tools}/processing-helper.js (90%) mode change 100644 => 100755 mode change 100644 => 100755 test/unit/3d-transforms.pde mode change 100644 => 100755 test/unit/Iterator.pde mode change 100644 => 100755 test/unit/PMatrixStack2D.pde mode change 100644 => 100755 test/unit/PMatrixStack3D.pde mode change 100644 => 100755 test/unit/PVector-sub.pde mode change 100644 => 100755 test/unit/PVector.pde mode change 100644 => 100755 test/unit/abstractMethod.pde mode change 100644 => 100755 test/unit/arrayContains.pde mode change 100644 => 100755 test/unit/arrayCopy.pde mode change 100644 => 100755 test/unit/arrayDeclaration.pde mode change 100644 => 100755 test/unit/arrayList.pde mode change 100644 => 100755 test/unit/arrayListAddIndex.pde mode change 100644 => 100755 test/unit/arrayListInherit.pde mode change 100644 => 100755 test/unit/arrayListIterator.pde mode change 100644 => 100755 test/unit/arrayListRemove.pde mode change 100644 => 100755 test/unit/arrayListRemoveAll.pde mode change 100644 => 100755 test/unit/arrayListRemoveObject.pde mode change 100644 => 100755 test/unit/arrayListSet.pde mode change 100644 => 100755 test/unit/arrayListToArray.pde mode change 100644 => 100755 test/unit/arrayParams.pde mode change 100644 => 100755 test/unit/arrayRemove.pde mode change 100644 => 100755 test/unit/baseClassVariable.pde mode change 100644 => 100755 test/unit/binary.pde mode change 100644 => 100755 test/unit/blend.pde mode change 100644 => 100755 test/unit/blendcolor.pde mode change 100644 => 100755 test/unit/bracketless-else.pde mode change 100644 => 100755 test/unit/byte.pde mode change 100644 => 100755 test/unit/catchBoundries.pde mode change 100644 => 100755 test/unit/char.pde mode change 100644 => 100755 test/unit/charParser.pde mode change 100644 => 100755 test/unit/check-unit-tests.js mode change 100644 => 100755 test/unit/check-unit-tests.pde mode change 100644 => 100755 test/unit/classVars.pde mode change 100644 => 100755 test/unit/color.pde mode change 100644 => 100755 test/unit/constants.pde mode change 100644 => 100755 test/unit/constructorCallsMethod.pde mode change 100644 => 100755 test/unit/copy.pde mode change 100644 => 100755 test/unit/coveragehelper.pde mode change 100644 => 100755 test/unit/coveragehelper3D.pde mode change 100644 => 100755 test/unit/dist.pde mode change 100644 => 100755 test/unit/dollarSignCtor.pde mode change 100644 => 100755 test/unit/example-unit-tests.js mode change 100644 => 100755 test/unit/example-unit-tests.pde mode change 100644 => 100755 test/unit/expand.pde mode change 100644 => 100755 test/unit/float.pde mode change 100644 => 100755 test/unit/float2.pde mode change 100644 => 100755 test/unit/float3.pde mode change 100644 => 100755 test/unit/floor.js mode change 100644 => 100755 test/unit/foreach.pde mode change 100644 => 100755 test/unit/frameRate.pde mode change 100644 => 100755 test/unit/functionBeforeCtor.pde mode change 100644 => 100755 test/unit/generics.pde mode change 100644 => 100755 test/unit/hasProperty.pde mode change 100644 => 100755 test/unit/hashCode.pde mode change 100644 => 100755 test/unit/hashMapBucket.pde mode change 100644 => 100755 test/unit/hashMapIteratorRemove.pde mode change 100644 => 100755 test/unit/hashMapRebucket.pde mode change 100644 => 100755 test/unit/hashmap-iterator.pde mode change 100644 => 100755 test/unit/hashmap-toarray.pde mode change 100644 => 100755 test/unit/hashmap.pde mode change 100644 => 100755 test/unit/hex.pde mode change 100644 => 100755 test/unit/importBoundries.pde mode change 100644 => 100755 test/unit/inheritanceDepth.pde mode change 100644 => 100755 test/unit/inheritanceThis.pde mode change 100644 => 100755 test/unit/inlineobject.pde mode change 100644 => 100755 test/unit/instanceof.pde mode change 100644 => 100755 test/unit/int-cast.pde mode change 100644 => 100755 test/unit/int.pde mode change 100644 => 100755 test/unit/interface.pde mode change 100644 => 100755 test/unit/interfaceBoundries.pde mode change 100644 => 100755 test/unit/js.pde mode change 100644 => 100755 test/unit/lengthSpace.pde mode change 100644 => 100755 test/unit/lerp.pde mode change 100644 => 100755 test/unit/loadStrings.pde mode change 100644 => 100755 test/unit/mag.pde mode change 100644 => 100755 test/unit/matchAll.pde mode change 100644 => 100755 test/unit/max.pde mode change 100644 => 100755 test/unit/methodargs.pde mode change 100644 => 100755 test/unit/min.pde mode change 100644 => 100755 test/unit/model01.pde mode change 100644 => 100755 test/unit/model02.pde mode change 100644 => 100755 test/unit/model03.pde mode change 100644 => 100755 test/unit/model04.pde mode change 100644 => 100755 test/unit/model05.pde mode change 100644 => 100755 test/unit/model06.pde mode change 100644 => 100755 test/unit/model07.pde mode change 100644 => 100755 test/unit/model08.pde mode change 100644 => 100755 test/unit/model09.pde mode change 100644 => 100755 test/unit/model10.pde mode change 100644 => 100755 test/unit/model11.pde mode change 100644 => 100755 test/unit/model12.pde mode change 100644 => 100755 test/unit/model13.pde mode change 100644 => 100755 test/unit/model14.pde mode change 100644 => 100755 test/unit/model15.pde mode change 100644 => 100755 test/unit/model16.pde mode change 100644 => 100755 test/unit/model17.pde mode change 100644 => 100755 test/unit/model18.pde mode change 100644 => 100755 test/unit/model19.pde mode change 100644 => 100755 test/unit/model20.pde mode change 100644 => 100755 test/unit/model21.pde mode change 100644 => 100755 test/unit/model22.pde mode change 100644 => 100755 test/unit/model23.pde mode change 100644 => 100755 test/unit/model24.pde mode change 100644 => 100755 test/unit/model25.pde mode change 100644 => 100755 test/unit/model26.pde mode change 100644 => 100755 test/unit/model27.pde mode change 100644 => 100755 test/unit/model28.pde mode change 100644 => 100755 test/unit/nf.pde mode change 100644 => 100755 test/unit/nfc.pde mode change 100644 => 100755 test/unit/nfp.pde mode change 100644 => 100755 test/unit/nfs.pde mode change 100644 => 100755 test/unit/normal.pde mode change 100644 => 100755 test/unit/objectCasting.pde mode change 100644 => 100755 test/unit/overloadedMethodCall.pde mode change 100644 => 100755 test/unit/param.pde mode change 100644 => 100755 test/unit/paramClobber.pde mode change 100644 => 100755 test/unit/parse1.pde mode change 100644 => 100755 test/unit/parseBoolean.pde mode change 100644 => 100755 test/unit/parseClassesWithoutWith.pde mode change 100644 => 100755 test/unit/pimageget.pde mode change 100644 => 100755 test/unit/pixelsBoundries.pde mode change 100644 => 100755 test/unit/pjs-directive-complex.pde mode change 100644 => 100755 test/unit/pjs-directive-none.pde mode change 100644 => 100755 test/unit/pmatrix2d.pde mode change 100644 => 100755 test/unit/pmatrix3d.pde mode change 100644 => 100755 test/unit/printMatrix2D.pde mode change 100644 => 100755 test/unit/protofix.pde mode change 100644 => 100755 test/unit/random.pde mode change 100644 => 100755 test/unit/red_green_blue_alpha.pde mode change 100644 => 100755 test/unit/returnArray.pde mode change 100644 => 100755 test/unit/runnable.pde mode change 100644 => 100755 test/unit/sameNameParams.pde mode change 100644 => 100755 test/unit/sameNameParams2.pde mode change 100644 => 100755 test/unit/screenXY.pde mode change 100644 => 100755 test/unit/screenXYZ.pde mode change 100644 => 100755 test/unit/sort.pde mode change 100644 => 100755 test/unit/splice.pde mode change 100644 => 100755 test/unit/staticVariable.pde mode change 100644 => 100755 test/unit/str.pde mode change 100644 => 100755 test/unit/string_split.pde mode change 100644 => 100755 test/unit/strings.pde mode change 100644 => 100755 test/unit/subset.pde mode change 100644 => 100755 test/unit/super.pde mode change 100644 => 100755 test/unit/superBoundries.pde mode change 100644 => 100755 test/unit/superSuper.pde mode change 100644 => 100755 test/unit/svgShape1.pde mode change 100644 => 100755 test/unit/switchvar.pde mode change 100644 => 100755 test/unit/textWidth.pde mode change 100644 => 100755 test/unit/thisCtorCall.pde mode change 100644 => 100755 test/unit/ticket1025.pde mode change 100644 => 100755 test/unit/ticket1034.pde mode change 100644 => 100755 test/unit/ticket1170.pde mode change 100644 => 100755 test/unit/ticket1178.pde mode change 100644 => 100755 test/unit/ticket1334.pde mode change 100644 => 100755 test/unit/ticket1355.pde mode change 100644 => 100755 test/unit/ticket1618.pde mode change 100644 => 100755 test/unit/ticket1810.pde mode change 100644 => 100755 test/unit/ticket740.pde mode change 100644 => 100755 test/unit/ticket989.pde mode change 100644 => 100755 test/unit/toCharArray.pde mode change 100644 => 100755 test/unit/trim.pde mode change 100644 => 100755 test/unit/unbinary.pde mode change 100644 => 100755 test/unit/unhex.pde mode change 100644 => 100755 test/unit/unsupported-2D.pde mode change 100644 => 100755 test/unit/unsupported-file.pde mode change 100644 => 100755 test/unit/variableInheritance.pde mode change 100644 => 100755 test/unit/virtualToString.pde delete mode 100644 tools/closure/COPYING delete mode 100644 tools/closure/compiler.jar delete mode 100644 tools/fake-dom.js delete mode 100644 tools/fake-extensions.js delete mode 100755 tools/httpd.py delete mode 100755 tools/jsbeautify.py delete mode 100644 tools/jscompile.js delete mode 100644 tools/jscoverage.js delete mode 100644 tools/jsglobals.js delete mode 100644 tools/jslint-cmdline.js delete mode 100644 tools/jslint.js delete mode 100755 tools/jslint.py delete mode 100644 tools/jspreprocess.js delete mode 100755 tools/pde2js.py delete mode 100644 tools/ref_string.jpg delete mode 100644 tools/rewrite-pconstants.js delete mode 100755 tools/runtests.py delete mode 100644 tools/test-harness-lib.js delete mode 100644 tools/test-harness.js delete mode 100644 tools/yui/LICENSE.TXT delete mode 100644 tools/yui/yuicompressor-2.4.6.jar diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 index 22fa762ad..fd4f2b066 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,2 @@ -release/ -dist/ -logs/ - -Unsaved\ Document* +node_modules .DS_Store -*.swp -*~ -*.pyc diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 0393283fb..000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "test/parser/The-Nature-of-Code"] - path = test/parser/The-Nature-of-Code - url = git://github.com/shiffman/The-Nature-of-Code.git diff --git a/Gruntfile.js b/Gruntfile.js new file mode 100755 index 000000000..e7371c362 --- /dev/null +++ b/Gruntfile.js @@ -0,0 +1,26 @@ +module.exports = function( grunt ) { + "use strict"; + grunt.initConfig({ + pkg: grunt.file.readJSON( "package.json" ), + jshint: { + options: { + browser: true, + globals: { + window: true, + document: true + }, + "-W054": true, // new Function() warning + "-W079": true // var redefinition warning + }, + files: [ + "./*.js", + "./lib/**/*.js", + "./src/**/*.js", + "!./processing.js", + "!./processing.min.js" + ] + } + }); + grunt.loadNpmTasks( "grunt-contrib-jshint" ); + grunt.registerTask( "default", [ "jshint" ]); +}; diff --git a/Makefile b/Makefile deleted file mode 100644 index 1e06f4016..000000000 --- a/Makefile +++ /dev/null @@ -1,230 +0,0 @@ -############################################################################################# -# NOTES: -# -# This Makefile assumes that you have the following installed, setup: -# -# python -# java -# Unixy shell (use msys on Windows) -# $JSSHELL environment variable in .profile or .bashrc pointing to a SpiderMonkey binary -# If on Windows, $FIND environment variable in .profile or .bashrc for unixy find cmd -############################################################################################# - -JSSHELL ?= $(error Specify a valid path to a js shell binary in ~/.profile: export JSSHELL=C:\path\js.exe or /path/js) - -# If you want to test just one file or dir, use |make check-one TEST=| -TEST ?= $(error Specify a test filename/dir in TEST when using check-test) - -# Version number used in naming release files. Defaults to git commit sha. -VERSION ?= $(shell git show -s --pretty=format:%h) - -# On Windows? You can specify a FIND value for your cygwin/msys find command -FIND ?= /usr/bin/find - -TMP := .__tmp_file__ -QUIET := > $(TMP) ; rm -f $(TMP) - -EMPTY := -SRC_DIR :=. -P5 :=processing -PJS :=$(P5).js -PJS_SRC :=$(SRC_DIR)/$(PJS) -PJS_VERSION :=$(P5)-$(VERSION) -PJS_VERSION_FULL :=$(P5)-js-$(VERSION) -PJS_API_SUFFIX := -API - -RELEASE_DIR :=$(SRC_DIR)/release -PJS_RELEASE_PREFIX :=$(RELEASE_DIR)/$(PJS_VERSION) -PJS_RELEASE_SRC :=$(PJS_RELEASE_PREFIX).js -PJS_RELEASE_MIN :=$(PJS_RELEASE_PREFIX).min.js -EXAMPLE_HTML :=$(RELEASE_DIR)/example.html -EXAMPLES_DIR :=$(PJS_RELEASE_PREFIX)-examples - -TOOLS_DIR :=$(SRC_DIR)/tools -FAKE_DOM :=$(TOOLS_DIR)/fake-dom.js -CLOSUREJAR :=$(TOOLS_DIR)/closure/compiler.jar -YUIJAR :=$(TOOLS_DIR)/yui/yuicompressor-2.4.6.jar -RUNTESTS :=@@$(TOOLS_DIR)/runtests.py $(JSSHELL) -RUNJS :=@@$(JSSHELL) -f $(FAKE_DOM) -f - -SKETCHRUN :=runSketch -SKETCHINPUT ?=$(error Specify an input filename in SKETCHINPUT when using package-sketch) -SKETCHOUTPUTSRC ?=$(SKETCHINPUT).src -SKETCHOUTPUT ?=$(SKETCHINPUT).js - -preprocess =@@$(JSSHELL) -f $(TOOLS_DIR)/jspreprocess.js -e "PARSER=false;preprocess();" < $(2) >> $(1) - -# Both Google Closure and YUI are in our tree. Switch compile below to whichever. -compile_closure =@@java -jar $(CLOSUREJAR) --js="$(1)" --js_output_file="$(2)" $(3) --jscomp_off=nonStandardJsDocs -compile_yui =@@java -jar $(YUIJAR) -o "$(2)" "$(1)" -compile=$(compile_yui) - -copydir = @@cp -R "$(1)" "$(2)" $(QUIET) && $(FIND) $(RELEASE_DIR) -type f \( -iname '*.DS_Store' -o \ - -iname 'desktop.ini' -o \ - -iname 'Thumbs.db' \) -delete -addlicense = @@cat $(SRC_DIR)/LICENSE-HEADER | sed -e 's/@VERSION@/$(VERSION)$(2)/' > $(RELEASE_DIR)/addlicense.tmp && \ - cat $(1) >> $(RELEASE_DIR)/addlicense.tmp && \ - rm -f $(1) && \ - mv $(RELEASE_DIR)/addlicense.tmp $(1) -addversion = @@cp $(1) addversion.tmp && \ - rm -f $(1) && \ - cat addversion.tmp | sed -e 's/@VERSION@/$(VERSION)$(2)/' > $(1) && \ - rm -f addversion.tmp - -# Rule for making pure JS code from a .pde (runs through parser + beautify) -%.js : %.pde - @@$(TOOLS_DIR)/pde2js.py $(JSSHELL) $? - -release: release-files zipped examples check-release ref-testing - @@echo "Release Created, see $(RELEASE_DIR)" - -check: check-lint check-closure check-globals check-submodules check-summary - -release-dir: clean - @@mkdir $(RELEASE_DIR) - -all: release - -release-files: $(PJS_RELEASE_SRC) closure api-only example release-docs extensions web-server - -web-server: release-dir - @@echo "Copying httpd.py to release..." - @@cp $(TOOLS_DIR)/httpd.py $(RELEASE_DIR) - -zipped: release-files - @@echo "Creating zipped archives..." - @@gzip -9 -c $(PJS_RELEASE_MIN) > $(PJS_RELEASE_MIN).gz - @@cd $(RELEASE_DIR); $(FIND) . -print | zip $(PJS_VERSION_FULL).zip -@ $(QUIET) - -release-docs: release-dir - @@echo "Copying project release docs..." - @@cp $(SRC_DIR)/AUTHORS $(RELEASE_DIR) - @@cp $(SRC_DIR)/README.md $(RELEASE_DIR)/README.md - @@$(call addversion,$(RELEASE_DIR)/README.md,$(EMPTY)) - @@cp $(SRC_DIR)/LICENSE $(RELEASE_DIR) $(QUIET) - @@cp $(SRC_DIR)/CHANGELOG $(RELEASE_DIR) $(QUIET) - -example: $(PJS_RELEASE_SRC) - @@echo "Creating example.html..." - @@cat $(SRC_DIR)/example.html | sed -e 's/src="processing.js"/src="$(PJS_VERSION).js"/' > $(EXAMPLE_HTML) - @@cp $(SRC_DIR)/example.pde $(RELEASE_DIR) - -examples: $(PJS_RELEASE_SRC) - @@echo "Copying examples..." - @@mkdir $(EXAMPLES_DIR) - @@cp $(PJS_RELEASE_SRC) $(EXAMPLES_DIR)/$(PJS) - @@$(call copydir,$(SRC_DIR)/examples,$(EXAMPLES_DIR)) - @@cd $(RELEASE_DIR); zip -r $(PJS_VERSION_FULL)-examples.zip $(PJS_VERSION)-examples $(QUIET) - @@rm -fr $(EXAMPLES_DIR) - -extensions: release-dir - @@echo "Copying extensions..." - @@$(call copydir,$(SRC_DIR)/extensions,$(RELEASE_DIR)) - -$(PJS_RELEASE_SRC): $(PJS_SRC) release-dir - @@echo "Creating $(PJS_RELEASE_SRC)..." - @@$(call compile_closure,$(PJS_SRC),$(RELEASE_DIR)/closurecompile.out,--compilation_level WHITESPACE_ONLY) - @@$(JSSHELL) -f $(TOOLS_DIR)/fake-dom.js \ - -f $(PJS_SRC) \ - $(TOOLS_DIR)/rewrite-pconstants.js < $(RELEASE_DIR)/closurecompile.out > \ - $(RELEASE_DIR)/processing.js-no-pconstants - @@$(TOOLS_DIR)/jsbeautify.py $(JSSHELL) $(RELEASE_DIR)/processing.js-no-pconstants > $(PJS_RELEASE_SRC) - @@rm -f $(RELEASE_DIR)/closurecompile.out - @@rm -f $(RELEASE_DIR)/processing.js-no-pconstants - @@$(call addlicense,$(PJS_RELEASE_SRC),$(EMPTY)) - @@$(call addversion,$(PJS_RELEASE_SRC),$(EMPTY)) - @@$(RUNJS) $(PJS_RELEASE_SRC) - -check-tests: - $(RUNTESTS) - -check-release: closure - $(RUNTESTS) -s -l $(PJS_RELEASE_MIN) - -check-submodules: - @@echo "\nChecking for git submodules" - @@git submodule status | awk '/^-/ { print $$2, "not found"; printMsg=1 } \ - /^ / { print $$2, "included" } \ - END { if (printMsg==1) { print "To add these tests to your repository, run git submodule init && git submodule update" } }' - -check-summary: - $(RUNTESTS) -s - -check-lint: - @@echo "\nRunning jslint on processing.js:" - @@$(TOOLS_DIR)/jslint.py $(JSSHELL) $(PJS_SRC) - -check-closure: release-dir - @@echo "\nRunning closure compiler on processing.js:" - @@$(call compile,$(PJS_SRC),$(RELEASE_DIR)/closurecompile.out,$(EMPTY)) - @@rm -f $(RELEASE_DIR)/closurecompile.out - -check-parser: - $(RUNTESTS) -p - -check-unit: - $(RUNTESTS) -u - -add-coverage: release-dir - @@cat $(PJS_SRC) | $(JSSHELL) -f $(TOOLS_DIR)/jscoverage.js > $(RELEASE_DIR)/$(P5)-cv.js - -check-one: - $(RUNTESTS) -t $(TEST) - -check-coverage: add-coverage - @@echo "Creating codecoverate.txt..." - @@$(RUNTESTS) -l $(RELEASE_DIR)/$(P5)-cv.js -c $(RELEASE_DIR)/codecoverage.txt - -check-globals: - @@echo "\nRunning jsglobals on processing.js:" - @@$(RUNJS) $(TOOLS_DIR)/jsglobals.js -e "findDifference()" < $(PJS_SRC) - -print-globals: - @@$(RUNJS) $(TOOLS_DIR)/jsglobals.js -e "printNames()" < $(PJS_SRC) - -closure: $(PJS_RELEASE_SRC) release-dir - @@echo "Compiling processing.js with closure..." - @@$(call compile,$(PJS_RELEASE_SRC),$(PJS_RELEASE_MIN),$(EMPTY)) - @@$(call addlicense,$(PJS_RELEASE_MIN),$(EMPTY)) - @@$(call addversion,$(PJS_RELEASE_MIN),$(EMPTY)) - @@$(RUNJS) $(PJS_RELEASE_MIN) - -compile-sketch: - @@$(RUNJS) $(PJS_SRC) -f $(TOOLS_DIR)/jscompile.js < $(SKETCHINPUT) > $(SKETCHOUTPUT) - @@echo "Created $(SKETCHOUTPUT)" - -package-sketch: $(PJS_SRC) - @@echo "function $(SKETCHRUN)(canvas) {" > $(SKETCHOUTPUTSRC) - @@$(call preprocess,$(SKETCHOUTPUTSRC),$(PJS_SRC)) - @@echo "return new Processing(canvas," >> $(SKETCHOUTPUTSRC) - @@$(RUNJS) $(PJS_SRC) -f $(TOOLS_DIR)/jscompile.js < $(SKETCHINPUT) >> $(SKETCHOUTPUTSRC) - @@echo "); } window['$(SKETCHRUN)']=$(SKETCHRUN);" >> $(SKETCHOUTPUTSRC) - @@$(call compile_closure,$(SKETCHOUTPUTSRC),$(SKETCHOUTPUT),--compilation_level ADVANCED_OPTIMIZATIONS) - @@$(call addlicense,$(SKETCHOUTPUT),-Packaged) - @@$(call addversion,$(SKETCHOUTPUT),-Packaged) - @@rm -f $(SKETCHOUTPUTSRC) - @@echo "Created $(SKETCHOUTPUT)" - -api-only: $(PJS_SRC) release-dir - @@echo "Creating processing.js API version..." - @@$(call preprocess,$(PJS_RELEASE_PREFIX)-api.js,$(PJS_SRC)) - @@$(JSSHELL) -f $(TOOLS_DIR)/fake-dom.js \ - -f $(PJS_SRC) \ - $(TOOLS_DIR)/rewrite-pconstants.js < $(PJS_RELEASE_PREFIX)-api.js > \ - $(RELEASE_DIR)/processing.js-no-pconstants - @@$(call compile_closure,$(RELEASE_DIR)/processing.js-no-pconstants,$(PJS_RELEASE_PREFIX)-api.tmp.js,--compilation_level WHITESPACE_ONLY) - @@$(TOOLS_DIR)/jsbeautify.py $(JSSHELL) $(PJS_RELEASE_PREFIX)-api.tmp.js > $(PJS_RELEASE_PREFIX)-api.js - @@$(call addlicense,$(PJS_RELEASE_PREFIX)-api.js,-API) - @@$(call addversion,$(PJS_RELEASE_PREFIX)-api.js,-API) - @@$(call compile,$(PJS_RELEASE_PREFIX)-api.js,$(PJS_RELEASE_PREFIX)-api.min.js,$(EMPTY)) - @@$(call addlicense,$(PJS_RELEASE_PREFIX)-api.min.js,$(PJS_API_SUFFIX)) - @@rm -f $(PJS_RELEASE_PREFIX)-api.tmp.js - @@rm -f $(RELEASE_DIR)/processing.js-no-pconstants - -ref-testing: closure - @@cp -R test release - @@cp $(PJS_RELEASE_MIN) $(RELEASE_DIR)/$(PJS) - @@echo "Created ref-testing distribution, see $(RELEASE_DIR)/test/ref/" - -clean: - @@rm -fr $(RELEASE_DIR) diff --git a/README.md b/README.md old mode 100644 new mode 100755 index a92ab85b4..270f10157 --- a/README.md +++ b/README.md @@ -1,139 +1,40 @@ -Processing.js - @VERSION@ -========================= -a port of the Processing visualization language +Processing.js +============= -About Us --------- -* License: MIT (see included LICENSE file for full license) -* Original Author: John Resig (http://ejohn.org) -* Maintainers: See included AUTHORS file for contributor list -* Web Site: http://processingjs.org -* Github Repo: http://github.com/jeresig/processing-js -* Bug Tracker: http://processing-js.lighthouseapp.com +*EXPERIMENTAL NODE COMPILE BRANCH* -Contributing and/or Participating Organizations ------------------------------------------------ -* The Processing Project and Community: http://processing.org -* The Mozilla Foundation: https://www.mozilla.org/foundation/ -* Seneca College (CDOT): http://zenit.senecac.on.ca/wiki/ +This is an experimental branch for Processing.js that builds up Pjs as a series of modules, rather than existing as one large file. -Contact Us ----------- -* IRC Channel: Join the development team at irc://irc.mozilla.org/processing.js -* Mailing List: User discussions happen at http://groups.google.com/group/processingjs -* Twitter: http://twitter.com/processingjs +Clone the usual way, check out the nodecompile branch, install the node packages with `npm install`. Then it's a fairly straight forward process: -What is Processing.js? ----------------------- -Processing.js is the sister project of the popular visual programming language -Processing, designed for the web. Processing.js makes your data visualizations, -digital art, interactive animations, educational graphs, video games, etc. work -using web standards and without any plug-ins. You write code using the Processing -language (or JavaScript), include it in your web page, and Processing.js does the -rest. +1. Lint: `$> grunt` +2. Test: `$> node test` -Processing.js is perhaps best thought of as a JavaScript runtime for the Processing -language. Where Processing relies upon Java for its graphics back-end, Processing.js -uses the web--HTML5, canvas, and WebGL--to create 2D and 3D graphics, without -developers having to learn those APIs and technologies. +If step 1. gives you a "grunt: command not found" or similar error, run `npm install -g grunt` to make sure grunt is globally installed as CLI command. -Originally developed by Ben Fry and Casey Reas, Processing started as an open -source programming language based on Java to help the electronic arts and visual -design communities learn the basics of computer programming in a visual context. -Processing.js takes this to the next level, allowing Processing code to be run by -any HTML5 compatible browser, including current versions of Firefox, Safari, -Chrome, Opera, and Internet Explorer. Processing.js brings the best of visual -programming to the web, both for Processing and web developers. +The test script accepts the following arguments: -Much like the native language, Processing.js is a community driven project, -and continues to grow as browser technology advances. Processing.js is now -compatible with Processing, and has an active developer and user community. +* `--test=testfile.pde` runs one specific test +* `--nobuild` does not build Pjs if all tests pass +* `--failonerror` terminates the run if any error occurs. +* `--noref` will not start a server process and a browser for doing ref testing. +* `--noautoref` will start a server and a browser for ref testing, but doesn't auto-start the tests. -Platform and Browser Compatibility ----------------------------------- -Processing.js is explicitly developed for and actively tested on browsers that -support the HTML5 canvas element. Processing.js runs in FireFox, Safari, -Chrome, Opera, and Internet Explorer. +You can also perform the post-unit-test steps manually: -Processing.js aims for 100 percent compatibility across all supported browsers; -however, differences between individual canvas implementations may give -slightly different results in your sketches. +* Build processing.js: `$> browserify build.js -o processing.js` +* Minify processing.js: `$> node minify` +* Run test server: `$> node server` -Setting up a Simple Sketch --------------------------- -In order to get a sketch going in the browser you will need to download the -processing.js file and make two new files - one with the extension .html and -the other with the extension .pde. -The .html file will have a link to the processing.js file you have downloaded, -and a canvas tag with a link to the .pde file that you made. +In the browser +-------------- -Here is an example of an .html file: +With the test server running, the following urls are good to know: - - - - - - - - - +* http://localhost:3000 - vanilla example page +* http://localhost:3000/ref - reference testing page +* http://localhost:3000/perf - performance testing page +* http://localhost:3000/processing-helper.html - utility page for converting/running Processing code -The custom attribute _data-processing-sources_ is used to link the sketch to -the canvas. - -Here is an example of a Processing sketch: - - void setup() { - size(200, 200); - background(125); - fill(255); - noLoop(); - PFont fontA = loadFont("courier"); - textFont(fontA, 14); - } - - void draw() { - text("Hello Web!", 20, 20); - println("Hello Error Log!"); - } - -Many more examples are available on the Processing.js website, http://processingjs.org/. - -Loading Processing.js Sketches Locally --------------------------------------- -Some web browsers (e.g., Chrome) require secondary files to be loaded from a -web server for security reasons. This means loading a web page that references -a Processing.js sketch in a file via a file:/// URL vs. http:// will fail. You -are particularly likely to run into this problem when you try to view your -webpage directly from file, as this makes all relative links file:/// links. - -There are several ways to get around this problem. You can use a browser which -does allow file:/// access, although most current browsers either have, or plan -to, no longer allow this by default. Another option is to run your own localhost -webserver so that you can test your page from http://localhost, thus avoiding -file:/// URLs. If you do not have a webserver installed, you can use the simple -webserver that is bundled with Processing.js. This requires Python to be installed, -and can be started by running the "httpd.py" script. This will set up a localhost -webserver instance for as long as you keep it running, so that you can easily -test your page in any browser of your choosing. - -Finally, most browsers can be told to turn off their same-origin policy -restrictions, allowing you to test your page without running a localhost -webserver. However, we strongly advise against this as it will disable -same-origin policy checking for any and all websites that you visit until -you turn it back on. While "easy", this is unsafe. - -Learn More About Processing.js -------------------------------- -Processing developers should start with the Processing.js Quick Start Guide for -Processing Developers at http://processingjs.org/articles/p5QuickStart.html - -JavaScript developers should start with the Processing.js Quick Start Guide for -JavaScript Developers at http://processingjs.org/articles/jsQuickStart.html - -A more detailed guide is http://processingjs.org/articles/PomaxGuide.html - -A complete reference of all Processing.js functions and variables is available -at http://processingjs.org/reference. +*Note: this branch is still under development.* diff --git a/build.js b/build.js new file mode 100755 index 000000000..c892531ea --- /dev/null +++ b/build.js @@ -0,0 +1,22 @@ +// build script for generating processing.js + +var Browser = { + isDomPresent: true, + navigator: navigator, + window: window, + document: document, + ajax: function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain"); + } + xhr.setRequestHeader("If-Modified-Since", "Fri, 01 Jan 1960 00:00:00 GMT"); + xhr.send(null); + // failed request? + if (xhr.status !== 200 && xhr.status !== 0) { throw ("XMLHttpRequest failed, status code " + xhr.status); } + return xhr.responseText; + } +}; + +window.Processing = require('./src/')(Browser); diff --git a/AUTHORS b/bundle/AUTHORS old mode 100644 new mode 100755 similarity index 100% rename from AUTHORS rename to bundle/AUTHORS diff --git a/CHANGELOG b/bundle/CHANGELOG old mode 100644 new mode 100755 similarity index 100% rename from CHANGELOG rename to bundle/CHANGELOG diff --git a/LICENSE b/bundle/LICENSE old mode 100644 new mode 100755 similarity index 100% rename from LICENSE rename to bundle/LICENSE diff --git a/LICENSE-HEADER b/bundle/LICENSE-HEADER old mode 100644 new mode 100755 similarity index 100% rename from LICENSE-HEADER rename to bundle/LICENSE-HEADER diff --git a/example.html b/example.html deleted file mode 100644 index 1aa3a6b45..000000000 --- a/example.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - Processing.js Example Page - - - - - - - - -

Processing.js Example Page - Loading Sketches

- -

This is a sketch that is loaded from source. If you want to be able - to use this sketch after loading, for instance in your own JavaScript - code, it needs an id='...' so that you can request it using:

- -
   Processing.getIntanceById('...')
- -

You can also load a sketch from multiple source files by putting - them all in a canvas data-processing-sources attribute string, separated - with spaces:

- -
   <canvas ... data-processing-sources="file1.pde file2.pde file3.pde" ...>
- - - -
- -

This is a source-less sketch, loaded from inline source code. Note - that in order for an on-page inline sketch to be loaded into a canvas, - the sketch must either immediately preceed the <canvas> it is to be - loaded in, or the script needs to indicate the id for the canvas.

- -

This means you can either place your script inside the <body> element, - above its associated <canvas>, or in the <head> element, pointing to - its associated <canvas> element.

- - - - -
- -

This sketch is loaded from a <script> in the html header block - which specifies this canvas as its target, referencing its id:

- -
   <script type="text/processing" data-processing-target="targetcanvas">...</script>
- - - - diff --git a/example.pde b/example.pde deleted file mode 100644 index 2db2c11ae..000000000 --- a/example.pde +++ /dev/null @@ -1,18 +0,0 @@ -// Processing.js example sketch - -int fontsize = 24; - -void setup() { - size(200, 200); - stroke(0); - fill(0); - textFont(createFont("Arial",fontsize)); - noLoop(); -} - -void draw() { - background(#F0F0E0); - String textstring = "source example"; - float twidth = textWidth(textstring); - text(textstring, (width-twidth)/2, height/2); -} diff --git a/examples/basic/additivewave.html b/examples/basic/additivewave.html deleted file mode 100644 index e6a50d05b..000000000 --- a/examples/basic/additivewave.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - -

Processing.js

-

AdditiveWave

- -

by Daniel Shiffman. - -Create a more complex wave by adding two waves together.

- -

Original Processing.org Example: AdditiveWave
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int xspacing = 8;   // How far apart should each horizontal location be spaced
-int w;              // Width of entire wave
-int maxwaves = 4;   // total # of waves to add together
-
-float theta = 0.0f;
-float[] amplitude = new float[maxwaves];   // Height of wave
-float[] dx = new float[maxwaves];          // Value for incrementing X, to be calculated as a function of period and xspacing
-float[] yvalues;                           // Using an array to store height values for the wave (not entirely necessary)
-
-void setup() {
-  size(200,200);
-  frameRate(30);
-  colorMode(RGB,255,255,255,100);
-  smooth();
-  w = width+16;
-
-  for (int i = 0; i < maxwaves; i++) {
-    amplitude[i] = random(10,30);
-    float period = random(100,300); // How many pixels before the wave repeats
-    dx[i] = (TWO_PI / period) * xspacing;
-  }
-
-  yvalues = new float[w/xspacing];
-}
-
-void draw() {
-  background(0);
-  calcWave();
-  renderWave();
-}
-
-void calcWave() {
-  // Increment theta (try different values for 'angular velocity' here
-  theta += 0.02;
-
-  // Set all height values to zero
-  for (int i = 0; i < yvalues.length; i++) {
-    yvalues[i] = 0.0f;
-  }
- 
-  // Accumulate wave height values
-  for (int j = 0; j < maxwaves; j++) {
-    float x = theta;
-    for (int i = 0; i < yvalues.length; i++) {
-      // Every other wave is cosine instead of sine
-      if (j % 2 == 0)  yvalues[i] += sin(x)*amplitude[j];
-      else yvalues[i] += cos(x)*amplitude[j];
-      x+=dx[j];
-    }
-  }
-}
-
-void renderWave() {
-  // A simple way to draw the wave with an ellipse at each location
-  noStroke();
-  fill(255,50);
-  ellipseMode(CENTER);
-  for (int x = 0; x < yvalues.length; x++) {
-    ellipse(x*xspacing,width/2+yvalues[x],16,16);
-  }
-}
- - diff --git a/examples/basic/alphamask.html b/examples/basic/alphamask.html deleted file mode 100644 index 6bf82c34f..000000000 --- a/examples/basic/alphamask.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - -

Processing.js

-

Alphamask

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. Not sure image masks were ever implemented in Processing.js.-F1LT3R

- - -

Loads a "mask" for an image to specify the transparency -in different parts of the image. The two images are blended -together using the mask() method of PImage. - -Created 29 April 2003.

- -

Original Processing.org Example: Alphamask
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-
-/* @pjs preload="data/test.jpg,data/mask.jpg"; */
-
-PImage img;
-PImage maskImg;
-
-void setup() 
-{
-  size(200,200);
-  img = loadImage("test.jpg");
-  maskImg = loadImage("mask.jpg");
-  img.mask(maskImg);
-}
-
-void draw() 
-{
-  background((mouseX+mouseY)/1.5);
-  image(img, 50, 50);
-  image(img, mouseX-50, mouseY-50);
-}
- - diff --git a/examples/basic/arctangent.html b/examples/basic/arctangent.html deleted file mode 100644 index 1e98d3759..000000000 --- a/examples/basic/arctangent.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - -

Processing.js

-

Arctangent

- -

Move the mouse to change the direction of the eyes. -The atan2() function computes the angle from each eye -to the cursor. - -Created 1 September 2002

- -

Original Processing.org Example: Arctangent
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-Eye e1, e2, e3, e4, e5;
-
-void setup() 
-{
-  size(200, 200);
-  smooth();
-  noStroke();
-  e1 = new Eye( 50,  16,  80);
-  e2 = new Eye( 64,  85,  40);  
-  e3 = new Eye( 90, 200, 120);
-  e4 = new Eye(150,  44,  40); 
-  e5 = new Eye(175, 120,  80);
-}
-
-void draw() 
-{
-  background(102);
-  
-  e1.update(mouseX, mouseY);
-  e2.update(mouseX, mouseY);
-  e3.update(mouseX, mouseY);
-  e4.update(mouseX, mouseY);
-  e5.update(mouseX, mouseY);
-
-  e1.display();
-  e2.display();
-  e3.display();
-  e4.display();
-  e5.display();
-}
-
-class Eye 
-{
-  int ex, ey;
-  int size;
-  float angle = 0.0;
-  
-  Eye(int x, int y, int s) {
-    ex = x;
-    ey = y;
-    size = s;
- }
-
-  void update(int mx, int my) {
-    angle = atan2(my-ey, mx-ex);
-  }
-  
-  void display() {
-    pushMatrix();
-    translate(ex, ey);
-    fill(255);
-    ellipse(0, 0, size, size);
-    rotate(angle);
-    fill(153);
-    ellipse(size/4, 0, size/2, size/2);
-    popMatrix();
-  }
-}
- - diff --git a/examples/basic/arm.html b/examples/basic/arm.html deleted file mode 100644 index 0d3784ed6..000000000 --- a/examples/basic/arm.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - -

Processing.js

-

Arm

- -

The angle of each segment is controlled with the mouseX and -mouseY position. The transformations applied to the first segment -are also applied to the second segment because they are inside -the same pushMatrix() and popMatrix() group.

- -

Original Processing.org Example: Arm
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float x = 50;
-float y = 100;
-float angle1 = 0.0;
-float angle2 = 0.0;
-float segLength = 50;
-
-void setup() {
-  size(200, 200);
-  smooth(); 
-  strokeWeight(20.0);
-  stroke(0, 100);
-}
-
-void draw() {
-  background(226);
-  
-  angle1 = (mouseX/float(width) - 0.5) * -PI;
-  angle2 = (mouseY/float(height) - 0.5) * PI;
-  
-  pushMatrix();
-  segment(x, y, angle1); 
-  segment(segLength, 0, angle2);
-  popMatrix();
-}
-
-void segment(float x, float y, float a) {
-  translate(x, y);
-  rotate(a);
-  line(0, 0, segLength, 0);
-}
- - diff --git a/examples/basic/array.html b/examples/basic/array.html deleted file mode 100644 index 620f8ac7a..000000000 --- a/examples/basic/array.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -

Processing.js

-

Array

- -

An array is a list of data. Each piece of data in an array -is identified by an index number representing its position in -the array. Arrays are zero based, which means that the first -element in the array is [0], the second element is [1], and so on. -In this example, an array named "coswav" is created and -filled with the cosine values. This data is displayed three -separate ways on the screen.

- -

Original Processing.org Example: Array
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-
-float[] coswave = new float[width];
-
-for(int i=0; i<width; i++) {
-  float ratio = (float)i/(float)width;
-  coswave[i] = abs( cos(ratio*PI) );
-}
-
-for(int i=0; i<width; i++) {
-  stroke(coswave[i]*255);
-  line(i, 0, i, width/3);
-}
-
-for(int i=0; i<width; i++) {
-  stroke(coswave[i]*255/4);
-  line(i, width/3, i, width/3*2);
-}
-
-for(int i=0; i<width; i++) {
-  stroke(255-coswave[i]*255);
-  line(i, width/3*2, i, height);
-}
- - diff --git a/examples/basic/array2d.html b/examples/basic/array2d.html deleted file mode 100644 index 22fec86fa..000000000 --- a/examples/basic/array2d.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - -

Processing.js

-

Array2D

- -

Demonstrates the syntax for creating a two-dimensional (2D) array. -Values in a 2D array are accessed through two index values. -2D arrays are useful for storing images. In this example, each dot -is colored in relation to its distance from the center of the image.

- -

Original Processing.org Example: Array2D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float[][] distances;
-float maxDistance;
-
-size(200, 200);
-background(0);
-maxDistance = dist(width/2, height/2, width, height);
-distances = new float[width][height];
-for(int i=0; i<height; i++) {
-  for(int j=0; j<width; j++) {
-    float d = dist(width/2, height/2, j, i);
-    distances[j][i] = d/maxDistance * 255; 
-  }
-}
-
-for(int i=0; i<height; i+=2) {
-  for(int j=0; j<width; j+=2) {
-    stroke(distances[j][i]);
-    point(j, i);
-  }
-}
- - diff --git a/examples/basic/arrayobjects.html b/examples/basic/arrayobjects.html deleted file mode 100644 index 0d18c4616..000000000 --- a/examples/basic/arrayobjects.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -

Processing.js

-

ArrayObjects

- -

Demonstrates the syntax for creating an array of custom objects.

- -

Original Processing.org Example: ArrayObjects
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int unit = 40;
-int num;
-Module[] mods;
-
-void setup() 
-{
-  size(200, 200);
-  background(176);
-  noStroke();
-  
-  num = width/unit * width/unit;
-  mods = new Module[num];
-  
-  for (int i=0; i<height/unit; i++) {
-    for(int j=0; j<height/unit; j++) {
-      int index = i*height/unit + j;
-      mods[index] = new Module(j*unit, i*unit, unit/2, unit/2, random(0.05, 0.8));  
-    }
-  }
-}
-
-void draw() 
-{
-  for(int i=0; i<num; i++) {
-    mods[i].update();
-    mods[i].draw();
-  }
-}
-
-class Module {
-  float mx, my;
-  int size = unit;
-  float x, y = 0;
-  int xdir = 1;
-  int ydir = 1;
-  float speed; 
-  
-  // Contructor (required)
-  Module(float imx, float imy, float ix, float iy, float ispeed) {
-    mx = imy;
-    my = imx;
-    x = int(ix);
-    y = int(iy);
-    speed = ispeed;
-  }
-  
-  // Custom method for updating the variables
-  void update() {
-    x = x + (speed * xdir);
-    if (x >= size || x <= 0) {
-      xdir *= -1;
-      x = x + (1 * xdir);
-      y = y + (1 * ydir);
-    }
-    if (y >= size || y <= 0) {
-      ydir *= -1;
-      y = y + (1 * ydir);
-    }
-  }
-  
-  // Custom method for drawing the object
-  void draw() {
-    stroke(second()*4);
-    point(mx+x-1, my+y-1);
-  }
-}
- - diff --git a/examples/basic/backgroundimage.html b/examples/basic/backgroundimage.html deleted file mode 100644 index 8198fc5ed..000000000 --- a/examples/basic/backgroundimage.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -

Processing.js

-

BackgroundImage

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. -F1LT3R

- -

This example presents the fastest way to load a background image -into Processing. To load an image as the background, it must be -the same width and height as the program.

- -

Original Processing.org Example: BackgroundImage
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-
-/* @pjs preload="data/milan_rubbish.jpg"; */
-
-PImage bg;
-int a; 
-
-void setup() 
-{
-  size(200,200);
-  frameRate(30);
-  // The background image must be the same size as the parameters
-  // into the size() method. In this program, the size of "milan_rubbish.jpg"
-  // is 200 x 200 pixels.
-  bg = loadImage("milan_rubbish.jpg");
-}
-
-void draw() 
-{
-  background(bg);
-
-  a = (a + 1)%(width+32);
-  stroke(226, 204, 0);
-  line(0, a, width, a-26);
-  line(0, a-6, width, a-32);
-}
- - diff --git a/examples/basic/bezier.html b/examples/basic/bezier.html deleted file mode 100644 index 6bd01c1e0..000000000 --- a/examples/basic/bezier.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - -

Processing.js

-

Bezier

- -

The first two parameters for the bezier() function specify the -first point in the curve and the last two parameters specify -the last point. The middle parameters set the control points -that define the shape of the curve.

- -

Original Processing.org Example: Bezier
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200); 
-background(0); 
-stroke(255);
-noFill();
-smooth(); 
-
-for(int i = 0; i < 100; i += 20) {
-  bezier(90-(i/2.0), 20+i, 210, 10, 220, 150, 120-(i/8.0), 150+(i/4.0));
-}
- - diff --git a/examples/basic/bezierellipse.html b/examples/basic/bezierellipse.html deleted file mode 100644 index 0ad03457d..000000000 --- a/examples/basic/bezierellipse.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - - -

Processing.js

-

BezierEllipse

- -

By Ira Greenberg - -Generates an ellipse using bezier() and -trig functions. Approximately every 1/2 -second a new ellipse is plotted using -random values for control/anchor points.

- -

Original Processing.org Example: BezierEllipse
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// arrays to hold ellipse coordinate data
-float[] px, py, cx, cy, cx2, cy2;
-
-// global variable-points in ellipse
-int pts = 4;
-
-color controlPtCol = #222222;
-color anchorPtCol = #BBBBBB;
-
-void setup(){
-  size(200, 200);
-  smooth();
-  setEllipse(pts, 65, 65);
-  frameRate(0.5);
-}
-
-void draw(){
-  background(145);
-  drawEllipse();
-  setEllipse(int(random(3, 12)), random(-100, 150), random(-100, 150));
-}
-
-// draw ellipse with anchor/control points
-void drawEllipse(){
-  strokeWeight(1.125);
-  stroke(255);
-  noFill();
-  // create ellipse
-  for (int i=0; i<pts; i++){
-    if (i==pts-1) {
-      bezier(px[i], py[i], cx[i], cy[i], cx2[i], cy2[i],  px[0], py[0]);
-    }
-    else{
-      bezier(px[i], py[i], cx[i], cy[i], cx2[i], cy2[i],  px[i+1], py[i+1]);
-    }
-  }
-  strokeWeight(.75);
-  stroke(0);
-  rectMode(CENTER);
-
-  // control handles and tangent lines
-  for ( int i=0; i< pts; i++){
-    if (i==pts-1){  // last loop iteration-close path
-      line(px[0], py[0], cx2[i], cy2[i]);
-    }
-    if (i>0){
-      line(px[i], py[i], cx2[i-1], cy2[i-1]);
-    }
-    line(px[i], py[i], cx[i], cy[i]);
-  }
-
-  for ( int i=0; i< pts; i++){
-    fill(controlPtCol);
-    noStroke();
-    //control handles
-    ellipse(cx[i], cy[i], 4, 4);
-    ellipse(cx2[i], cy2[i], 4, 4);
-
-    fill(anchorPtCol);
-    stroke(0);
-    //anchor points
-    rect(px[i], py[i], 5, 5);
-  }
-}
-
-// fill up arrays with ellipse coordinate data
-void setEllipse(int points, float radius, float controlRadius){
-  pts = points;
-  px = new float[points];
-  py = new float[points];
-  cx = new float[points];
-  cy = new float[points];
-  cx2 = new float[points];
-  cy2 = new float[points];
-  float angle = 360.0/points;
-  float controlAngle1 = angle/3.0;
-  float controlAngle2 = controlAngle1*2.0;
-  for ( int i=0; i<points; i++){
-    px[i] = width/2+cos(radians(angle))*radius;
-    py[i] = height/2+sin(radians(angle))*radius;
-    cx[i] = width/2+cos(radians(angle+controlAngle1))* 
-      controlRadius/cos(radians(controlAngle1));
-    cy[i] = height/2+sin(radians(angle+controlAngle1))* 
-      controlRadius/cos(radians(controlAngle1));
-    cx2[i] = width/2+cos(radians(angle+controlAngle2))* 
-      controlRadius/cos(radians(controlAngle1));
-    cy2[i] = height/2+sin(radians(angle+controlAngle2))* 
-      controlRadius/cos(radians(controlAngle1));
-
-    //increment angle so trig functions keep chugging along
-    angle+=360.0/points;
-  }
-}
- - diff --git a/examples/basic/brightness.html b/examples/basic/brightness.html deleted file mode 100644 index dd38adc18..000000000 --- a/examples/basic/brightness.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - -

Processing.js

-

Brightness

- -

by Rusty Robison. - -Brightness is the relative lightness or darkness of a color. -Move the cursor vertically over each bar to alter its brightness.

- -

Original Processing.org Example: Brightness
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int barWidth = 5;
-int[] brightness;
-
-void setup() 
-{
-  size(200, 200);
-  colorMode(HSB, 360, height, height);  
-  brightness = new int[width/barWidth];
-}
-
-void draw() 
-{
-  int j = 0;
-  for (int i = 0; i <= (width-barWidth); i += barWidth) {  
-    noStroke();
-    if ((mouseX > i) && (mouseX < i+barWidth)) {
-      brightness[j] = mouseY;
-    }
-    fill(i, height, brightness[j]);
-    rect(i, 0, barWidth, height);  
-    j++;
-  }
-}
- - diff --git a/examples/basic/charactersstrings.html b/examples/basic/charactersstrings.html deleted file mode 100644 index a21ed36d3..000000000 --- a/examples/basic/charactersstrings.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - -

Processing.js

-

CharactersStrings

- -

Click on the image to give it focus and then type letters to -shift the location of the image. -Characters are typographic symbols such as A, d, and %. -The character datatype, abbreviated as char, stores letters and -symbols in the Unicode format, a coding system developed to support -a variety of world languages. Characters are distinguished from other -symbols by putting them between single quotes ('P'). -A string is a sequence of characters. A string is noted by surrounding -a group of letters with double quotes ("Processing"). -Chars and strings are most often used with the keyboard methods, -to display text to the screen, and to load images or files.

- -

Original Processing.org Example: CharactersStrings
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-PImage frog;
-PFont fontA;
-int lettersize = 90;
-int xoffset;
-char letter;
-
-void setup() 
-{
-  size(200, 200);
-  fontA = loadFont("Arial"); 
-  textFont(fontA); 
-  textSize(lettersize);
-    
-  // The String datatype must be capitalized because it is a complex datatype.
-  // A String is actually a class with its own methods, some of which are
-  // featured below.
-  String name= "rathausFrog";
-  String extension = ".jpg";
-  int nameLength = name.length();
-  println("The length of " + name + " is " + nameLength + ".");
-  name = name.concat(extension);
-  nameLength = name.length();
-  println("The length of " + name + " is " + nameLength + ".");
-
-  // The parameter for the loadImage() method must be a string
-  // This line could also be written "frog = loadImage("rathausFrog.jpg");
-  frog = loadImage(name);
-}
-
-void draw() 
-{
-  background(51); // Set background to dark gray
-  
-  image(frog, xoffset, 0);
-  
-  // Draw an X
-  line(0, 0, width, height);  
-  line(0, height, width, 0); 
-  
-  // Get the width of the letter
-  int letterWidth = int(fontA.width(letter) * lettersize);
-      
-  // Draw the letter to the center of the screen
-  text(letter, width/2-letterWidth/2, height/2);
-}
-
-void keyPressed()
-{
-  // The variable "key" always contains the value of the most recent key pressed.
-  // If the key is an upper or lowercase letter between 'A' and 'z'
-  // the image is shifted to the corresponding value of that key
-  if(key >= 'A' && key <= 'z') {
-    letter = char(key);
-    // Scale the values to numbers between 0 and 100
-    float scale = 100.0/57.0;
-    int temp = int((key - 'A') * scale);
-    // Set the offset for the image
-    xoffset = temp;
-    println(key);
-  }
-}
- - diff --git a/examples/basic/clock.html b/examples/basic/clock.html deleted file mode 100644 index db6771f1e..000000000 --- a/examples/basic/clock.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - -

Processing.js

-

Clock

- -

The current time can be read with the second(), minute(), -and hour() functions. In this example, sin() and cos() values -are used to set the position of the hands. - *

- -

Original Processing.org Example: Clock
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() {
-  size(200, 200);
-  stroke(255);
-  smooth();
-}
-void draw() {
-  background(0);
-  fill(80);
-  noStroke();
-  // Angles for sin() and cos() start at 3 o'clock;
-  // subtract HALF_PI to make them start at the top
-  ellipse(100, 100, 160, 160);
-  float s = map(second(), 0, 60, 0, TWO_PI) - HALF_PI;
-  float m = map(minute(), 0, 60, 0, TWO_PI) - HALF_PI;
-  float h = map(hour() % 12, 0, 12, 0, TWO_PI) - HALF_PI;
-  stroke(255);
-  strokeWeight(1);
-  line(100, 100, cos(s) * 72 + 100, sin(s) * 72 + 100);
-  strokeWeight(2);
-  line(100, 100, cos(m) * 60 + 100, sin(m) * 60 + 100);
-  strokeWeight(4);
-  line(100, 100, cos(h) * 50 + 100, sin(h) * 50 + 100);
-}
- - diff --git a/examples/basic/colorwheel.html b/examples/basic/colorwheel.html deleted file mode 100644 index 361ba3eee..000000000 --- a/examples/basic/colorwheel.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - -

Processing.js

-

ColorWheel

- -

by Ira Greenberg. - -The primaries are red, yellow, and blue. The -secondaries are green, purple, and orange. The -tertiaries are yellow-orange, red-orange, red-purple, -blue-purple, blue-green, and yellow-green. - -Create a shade or tint of the -subtractive color wheel using -SHADE or TINT parameters.

- -

Original Processing.org Example: ColorWheel
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int segs = 12;
-int steps = 6;
-float rotAdjust = radians(360.0/segs/2.0);
-float radius = 95.0;
-float segWidth = radius/steps;
-float interval = TWO_PI/segs;
-int SHADE = 0;
-int TINT = 1;
-
-void setup(){
-  size(200, 200);
-  background(127);
-  smooth();
-  ellipseMode(CENTER_RADIUS);
-  noStroke();
- // you can substitue TINT for SHADE argument
- createWheel(width/2, height/2, SHADE);
-}
-
-void createWheel(int x, int y, int valueShift){
-  if (valueShift == SHADE){
-    for (int j=0; j<steps; j++){
-      color[]cols = { 
-        color(255-(255/steps)*j, 255-(255/steps)*j, 0), 
-        color(255-(255/steps)*j, (255/1.5)-((255/1.5)/steps)*j, 0), 
-        color(255-(255/steps)*j, (255/2)-((255/2)/steps)*j, 0), 
-        color(255-(255/steps)*j, (255/2.5)-((255/2.5)/steps)*j, 0), 
-        color(255-(255/steps)*j, 0, 0), 
-        color(255-(255/steps)*j, 0, (255/2)-((255/2)/steps)*j), 
-        color(255-(255/steps)*j, 0, 255-(255/steps)*j), 
-        color((255/2)-((255/2)/steps)*j, 0, 255-(255/steps)*j), 
-        color(0, 0, 255-(255/steps)*j),
-        color(0, 255-(255/steps)*j, (255/2.5)-((255/2.5)/steps)*j), 
-        color(0, 255-(255/steps)*j, 0), 
-        color((255/2)-((255/2)/steps)*j, 255-(255/steps)*j, 0) };
-      for (int i=0; i< segs; i++){
-        fill(cols[i]);
-        arc(x, y, radius, radius, interval*i+rotAdjust, interval*(i+1)+rotAdjust);
-      }
-      radius -= segWidth;
-    }
-  } else  if (valueShift == TINT){
-    for (int j=0; j<steps; j++){
-      color[]cols = { 
-        color((255/steps)*j, (255/steps)*j, 0), 
-        color((255/steps)*j, ((255/1.5)/steps)*j, 0), 
-        color((255/steps)*j, ((255/2)/steps)*j, 0), 
-        color((255/steps)*j, ((255/2.5)/steps)*j, 0), 
-        color((255/steps)*j, 0, 0), 
-        color((255/steps)*j, 0, ((255/2)/steps)*j), 
-        color((255/steps)*j, 0, (255/steps)*j), 
-        color(((255/2)/steps)*j, 0, (255/steps)*j), 
-        color(0, 0, (255/steps)*j),
-        color(0, (255/steps)*j, ((255/2.5)/steps)*j), 
-        color(0, (255/steps)*j, 0), 
-        color(((255/2)/steps)*j, (255/steps)*j, 0) };
-      for (int i=0; i< segs; i++){
-        fill(cols[i]);
-        arc(x, y, radius, radius, interval*i+rotAdjust, interval*(i+1)+rotAdjust);
-      }
-      radius -= segWidth;
-    }
-  } 
-}
- - diff --git a/examples/basic/compositeobjects.html b/examples/basic/compositeobjects.html deleted file mode 100644 index 17dae95be..000000000 --- a/examples/basic/compositeobjects.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - -

Processing.js

-

CompositeObjects

- -

An object can include several other objects. Creating such composite objects -is a good way to use the principles of modularity and build higher levels of -abstraction within a program.

- -

Original Processing.org Example: CompositeObjects
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-EggRing er1, er2;
-
-void setup() 
-{
-  size(200, 200);
-  smooth();
-  er1 = new EggRing(66, 132, 0.1, 66);
-  er2 = new EggRing(132, 180, 0.05, 132);
-}
-
-void draw() 
-{
-  background(0);
-  er1.transmit();
-  er2.transmit();
-}
-
-class EggRing 
-{
-  Egg ovoid;
-  Ring circle = new Ring();
-  EggRing(int x, int y, float t, float sp) {
-    ovoid = new Egg(x, y, t, sp);
-    circle.start(x, y - sp/2);
-  }
-  void transmit() {
-    ovoid.wobble();
-    ovoid.display();
-    circle.grow();
-    circle.display();
-    if (circle.on == false) {
-      circle.on = true;
-    }
-  }
-}
-
-class Egg {
-  float x, y; // X-coordinate, y-coordinate
-  float tilt; // Left and right angle offset
-  float angle; // Used to define the tilt
-  float scalar; // Height of the egg
-  // Constructor
-  Egg(int xpos, int ypos, float t, float s) {
-    x = xpos;
-    y = ypos;
-    tilt = t;
-    scalar = s / 100.0;
-  }
-  void wobble() {
-    tilt = cos(angle) / 8;
-    angle += 0.1;
-  }
-  void display() {
-    noStroke();
-    fill(255);
-    pushMatrix();
-    translate(x, y);
-    rotate(tilt);
-    scale(scalar);
-    beginShape();
-    vertex(0, -100);
-    bezierVertex(25, -100, 40, -65, 40, -40);
-    bezierVertex(40, -15, 25, 0, 0, 0);
-    bezierVertex(-25, 0, -40, -15, -40, -40);
-    bezierVertex(-40, -65, -25, -100, 0, -100);
-    endShape();
-    popMatrix();
-  }
-}
-
-class Ring {
-  float x, y; // X-coordinate, y-coordinate
-  float diameter; // Diameter of the ring
-  boolean on = false; // Turns the display on and off
-  void start(float xpos, float ypos) {
-    x = xpos;
-    y = ypos;
-    on = true;
-    diameter = 1;
-  }
-  void grow() {
-    if (on == true) {
-      diameter += 0.5;
-      if (diameter > width*2) {
-        diameter = 0.0;
-      }
-    }
-  }
-  void display() {
-    if (on == true) {
-      noFill();
-      strokeWeight(4);
-      stroke(155, 153);
-      ellipse(x, y, diameter, diameter);
-    }
-  }
-}
- - diff --git a/examples/basic/conditionals1.html b/examples/basic/conditionals1.html deleted file mode 100644 index adf404be7..000000000 --- a/examples/basic/conditionals1.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - -

Processing.js

-

Conditionals1

- -

Conditions are like questions. -They allow a program to decide to take one action if -the answer to a question is true or to do another action -if the answer to the question is false. -The questions asked within a program are always logical -or relational statements. For example, if the variable 'i' is -equal to zero then draw a line.

- -

Original Processing.org Example: Conditionals1
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-
-for(int i=10; i<width; i+=10) {
-  // If 'i' divides by 20 with no remainder draw the first line
-  // else draw the second line
-  if(i%20 == 0) {
-    stroke(153);
-    line(i, 40, i, height/2);
-  } else {
-    stroke(102);
-    line(i, 20, i, 180); 
-  }
-}
- - diff --git a/examples/basic/conditionals2.html b/examples/basic/conditionals2.html deleted file mode 100644 index 2c52e75b0..000000000 --- a/examples/basic/conditionals2.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -

Processing.js

-

Conditionals2

- -

We extend the language of conditionals by adding the -keyword "else". This allows conditionals to ask -two or more sequential questions, each with a different -action.

- -

Original Processing.org Example: Conditionals2
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-
-for(int i=2; i<width-2; i+=2) {
-  // If 'i' divides by 20 with no remainder 
-  // draw the first line else draw the second line
-  if(i%20 == 0) {
-    stroke(255);
-    line(i, 40, i, height/2);
-  } else if (i%10 == 0) {
-    stroke(153);
-    line(i, 20, i, 180); 
-  } else {
-    stroke(102);
-    line(i, height/2, i, height-40);
-  }
-}
- - diff --git a/examples/basic/constrain.html b/examples/basic/constrain.html deleted file mode 100644 index 7691b3c87..000000000 --- a/examples/basic/constrain.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -

Processing.js

-

Constrain

- -

Move the mouse across the screen to move the circle. -The program constrains the circle to its box.

- -

Original Processing.org Example: Constrain
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float mx;
-float my;
-float easing = 0.05;
-float esize = 25.0;
-int box = 30;
-
-void setup() 
-{
-  size(200, 200);
-  noStroke(); 
-  smooth();
-  ellipseMode(CENTER_RADIUS);  
-}
-
-void draw() 
-{ 
-  background(51);
-  
-  if(abs(mouseX - mx) > 0.1) {
-    mx = mx + (mouseX - mx) * easing;
-  }
-  if(abs(mouseY - my) > 0.1) {
-    my = my + (mouseY- my) * easing;
-  }
-  
-  float distance = esize * 2;
-  mx = constrain(mx, box+distance, width-box-distance);
-  my = constrain(my, box+distance, height-box-distance);
-  fill(76);
-  rect(box+esize, box+esize, box*3, box*3);
-  fill(255);  
-  ellipse(mx, my, esize, esize);
-}
- - diff --git a/examples/basic/coordinates.html b/examples/basic/coordinates.html deleted file mode 100644 index d3500a4b8..000000000 --- a/examples/basic/coordinates.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -

Processing.js

-

Coordinates

- -

All shapes drawn to the screen have a position that is specified as a coordinate. -All coordinates are measured as the distance from the origin in units of pixels. -The origin [0, 0] is the coordinate is in the upper left of the window -and the coordinate in the lower right is [width-1, height-1].

- -

Original Processing.org Example: Coordinates
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// Sets the screen to be 200, 200, so the width of the window is 200 pixels
-// and the height of the window is 200 pixels
-size(200, 200);
-background(0);
-noFill();
-stroke(255);
-
-// The two parameters of the point() method each specify coordinates.
-// This call to point() draws at the position [100, 100]
-point(width/2, height/2);
-
-// Draws to the position [100, 50]
-point(width/2, height/4); 
-
-// It is also possible to specify a point with any parameter, 
-// but only coordinates on the screen are visible
-point(60, 30);
-point(60, 134);
-point(160, 50);
-point(280, -800);
-point(201, 100);
-
-// Coordinates are used for drawing all shapes, not just points.
-// Parameters for different methods are used for different purposes.
-// For example, the first two parameters to line() specify the coordinates of the 
-// first point and the second two parameters specify the second point
-stroke(204);
-line(0, 73, width, 73);
-
-// The first two parameters to rect() are coordinates
-// and the second two are the width and height
-rect(110, 55, 40, 36);
- - diff --git a/examples/basic/creategraphics.html b/examples/basic/creategraphics.html deleted file mode 100644 index b5951b5cb..000000000 --- a/examples/basic/creategraphics.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -

Processing.js

-

CreateGraphics

- -

The createGraphics() function creates an object from the PGraphics class -(PGraphics is the main graphics and rendering context for Processing). -The beginDraw() method is necessary to prepare for drawing and endDraw() is -necessary to finish. Use this class if you need to draw into an off-screen -graphics buffer or to maintain two contexts with different properties.

- -

Original Processing.org Example: CreateGraphics
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-PGraphics pg;
-
-void setup() {
-  size(200, 200);
-  pg = createGraphics(80, 80);
-}
-
-void draw() {
-  fill(0, 12);
-  rect(0, 0, width, height);
-  fill(255);
-  noStroke();
-  ellipse(mouseX, mouseY, 60, 60);
-  
-  pg.beginDraw();
-  pg.background(102);
-  pg.noFill();
-  pg.stroke(255);
-  pg.ellipse(mouseX-60, mouseY-60, 60, 60);
-  pg.endDraw();
-  
-  image(pg, 60, 60); 
-}
- - diff --git a/examples/basic/createimage.html b/examples/basic/createimage.html deleted file mode 100644 index d4b2db798..000000000 --- a/examples/basic/createimage.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - -

Processing.js

-

CreateImage

- -

The createImage() function provides a fresh buffer of pixels to play with. -This example creates an image gradient.

- -

Original Processing.org Example: CreateImage
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-PImage img;
-
-void setup() 
-{
-  size(200, 200);  
-  img = createImage(120, 120, RGB);
-  for(int i=0; i < img.pixels.length; i++) {
-    img.pixels[i] = color(0, 90, 102, i%img.width * 2); 
-  }
-}
-
-void draw() 
-{
-  background(204);
-  image(img, 33, 33);
-  image(img, mouseX-60, mouseY-60);
-}
- - diff --git a/examples/basic/creating.html b/examples/basic/creating.html deleted file mode 100644 index 7e0176227..000000000 --- a/examples/basic/creating.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -

Processing.js

-

Creating

- -

Creating variables for colors that may be referred to -in the program by their name, rather than a number.

- -

Original Processing.org Example: Creating
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-noStroke();
-
-color inside = color(204, 102, 0);
-color middle = color(204, 153, 0);
-color outside = color(153, 51, 0);
-
-// These statements are equivalent to the statements above.
-// Programmers may use the format they prefer.
-//color inside = #CC6600;
-//color middle = #CC9900;
-//color outside = #993300;
-
-fill(outside);
-rect(0, 0, 200, 200);
-fill(middle);
-rect(40, 60, 120, 120);
-fill(inside);
-rect(60, 90, 80, 80);
- - diff --git a/examples/basic/data/brugges.jpg b/examples/basic/data/brugges.jpg deleted file mode 100644 index fa723f9dade8f1af2b8af5f0608ff9983af8c898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34371 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 diff --git a/examples/basic/data/cait.jpg b/examples/basic/data/cait.jpg deleted file mode 100644 index bc15e16a576e8f3397025e326da16613c672208f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7920 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

XZAl|-y)^|SzybgRG$2L^^kzfJQ9 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�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 E+2};vKL7v# diff --git a/examples/basic/data/jelly.jpg b/examples/basic/data/jelly.jpg deleted file mode 100644 index a881c7e8bdb551d875d59cc2423a84ff5e8d6461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28211 zcmaHSbx<9_^XJ3e-R0pH+}+*X5+Jy{yF0w#!QCymI|PEeI|O+IcR9YlyZhGtb)T*3 znwp;3?U~x0?rr&4`Pc!V%S+2i10Wy)fbX9d;Nu*CA?a>r>kWVaKmz~({m-ro0IJw` zM^kga_rA{_h>vwZ7y#nGfc$JhLVnUu^1lHE3H6Cj0{tIA!Tb;4{sZ{`;y=?rN5eot z!N9>l!~8#-{|@>8H$M6R81R5Gz!($+1^^NR0ty4-V+hdpDIYY{e{TLM>Hh!@8U_{~ z5()tk0)PbZf0+N52lx~Y77hXu9)N&|4uFJ!f(CpF3% zI5kRacoS!KU~qDQI8FnCItLZ*W&f|B9fPdR#gP+SKpCtPGqVr?u*D%|jSrPH8N*Fk zYA!*zDr2UyVZmsWl}v2cRB&08R?zsCh@G*mKdV z=F!W=p&R9-(;~kGd0~o>SY2zQFB$3pDCH7HqpO&2L$;B%`gdv-tu4bAm zAE$__mVW=DQC&`&C{6=g#-=ja9hjX7z~W(n_koVhf`Ik?o*#nWCTuBD%ff+Uo|4x2 znHq7{XSfB_!uDOg%8?bQAysnOMIH=D)7RRJ*vzL2l==D&{$JODPuxlD6yKB2V&XXe zT!&|RUnt_A%Tw00@X1$FLyo_r097wWQtJ9pXzq&}SmP^fqrHb-DfusD&At#@1pOEZ zo8NzmN4}Gj2(<~9ASC8*%*3AVj*%DMnaiV?xif?Zr+BARWdmU)>JB)CY~m?#%!tJqq$lFK!E5V-&c485i=LdCPSC6r8RdprV3X#LmPjtq zLlHE(75ye9wrO7blu9lOrRmpFQnI`~POQps!*6Mjk_9dLu#fL#gn#90t>{zm{{X?o zY}1~|F8>fg4=5jiIkCy!{28vbHf8Se>m^LK=iwj+>M@##PDHPNJ)JnyF-c^Kekh$; zc7aNOt0k_2IP_?Iaw-ulRcoWJ;2Jl9BX8+xw%FN6o)dkI{oO}f)djY+aSl^WD%J!R z53^(Kt8Ll*c*!FZqhckhSi+d!)O=oQ7#?J!;tS-8hww{2FymyMTFZ0&*30KdA~N>G z>gLplnkug3U)lsxcCYpAIy5p&O1v~vjc%ux~$|faI(XfDjd!#_yZ6+u*Z)_Xohs z$kx{+a#zq}T3Bi!%Hcvk9+J1fU9te#6G>Z`>(RV~Ko*n^%ccN79oZ6U=tsU<2d$4S{#8{q>nfMd?x zJ_HkwVZ6bV-1VcCD55CI>op8V7~tpe+5`*^-*lKmN2Vw}A)!s<%jg^#!ZXvKznQr! z_Vp5LGDH$17{JpO2F!SC*h8rO3elIOi&;C7P{c`v43RA-*D)2nou` zWykD$blg?yx&=m4vxNl7MJ=7_#-L^OUT=Q@n31#;)VZzim;#Jhb*Elsv(BS-g*oF@ zXhnu*0)-IO^2d3E%Yu{g*3g;+iybkWE8h9fdAJ$0k}$5?uHq0Eu2}>tmAKytRb+L? zMu@ASZEZbyNZBK#5?uJ8nGh}o9I(&Oh{+WS71r3pT*E=`0f@;Rk+E+d+lIb8iYy@@Fd{%2ulDBT}4X@rtctbSqE7 zwI72k$Rw6V^sva5H&HJN?k+KDxO3qfT2Q$AM>hF^O6GmRFo<^6cNl~};e5^DySiI% z#kSa}>Axb@UvXWN`Va?MprTjwnr)VpVk*Ggo|bAII;#82d_y96pvqdlBqbD^BQDU^ zES+camO0C|OVIYRJ#B*)w^oHO5#xlD)%>0!O}80*!YhHDc80}1K~3}`{mze@4~6e) zZn~2%GqxAUh|`7>hr2=ue){W~GR6LoI*9*f;HWIRn?qH`+mEOfyp}6~QE&=Fmi^t< z*c839I0i9@_dG_5j{Y$RS&sRfJgq5|h#evaEL)rVWpT zF9QvdZ|J9;rdbgAa-`%J5m~;-S8Znlz>Zqtk<Sxvst?hz)Fd*kU%(n~ z2jcNDWv7IVRYolhZ?$;@U)6$GoKk3OEYTi+O1Iehf{y5c3_A{pnlmJ?W2@E$ReVkn zFO_Qxk~avkqidxB4?w>M^=}1t<_&Qf(e2)VHHis#CI;)*+eQ7VJJ=v0z3WkU%mONT znfho;|Hh{Cx1J-bA=cPV0e4+p7d##|gJC>yDqsKm1f)Z#D zYc4W<9Sn1xythy?RKH<}@q&wcT_uGNouDq8T2U87Hm%IxJcU%I*!A0YdJft%p2YImV(5J3~Nxz7(J5~WEp;aa?BJF>2>F<1b)^57x%IhbiE^>P>?AJZYl zeNhfq#TYT{sh<{@WHMRJoTHpzh8>51)(j*;Q)?G%%9`=r7klRSdhF-hm?d$^(T421Nf;k$3M>plhp|1x+T%5QdMN0L$5%k`H zB_G0(sNs>Giy1M3I2J^Y+I+NF2h@Mmuy2`hC#<;$g^(a9rz`x*q5ma)paZ+vOkK0s z&o?^R|I4`r@^KW(ZX2|pbc8ocM*L4jf^VycfvuPYLoKgf|6m5(d%=Y;}C>y?Xk~P{%y3+DS{K zCk$HuVejnKOR;_s(R=#&o<04w>1(2ogR^z{E*uy}@m-~agLw>#Gn{mcDSOC70*+ak zlWH!tb`2eK&+9$~mkq-tuy?61JUmT8zJmTO zkeTL{PddRxqC2a5uut@Ge2?p3pfK1*?iD~NUlbHnS>zWd=imT3qa_(^_od3n&=~}Y za=!ym5DLUSvbohwY(@4|viWY$h|Z@NI}Vn-$t7(a%e#R0TXGI!nq2u+8sB){iT)~7 z)|gAT_Vyrb5ERsaf>B8F_{f%~GETnV+Q(I#c4BapYe}hVp7Uv55&7AcShGfikFc42 zhu6q+Oc4d!m!($xMLIif(Yp`H!eZCXFh&ninPxJTR#FKekIBvFAuR9b7G#4U z?oJn?Dc#cU$>m@1EI%u^@)QIy=io9)O%y|JLIifW*l}S#zSCAJj(aZ@p}Be|#JP!Q zm^BL<5Z9Zfb*6-ka8|#gs@NXV)U>kf5?{#H$HE}Iu4l~{Gre70lrM}aha1QX;wKJA zG*RFO$%>jDe)}gXL=U*RGzY#(hsqV>)G&BPWxqI|_jbJh`<{*k_H0?Lee*jGPQ;1t z=#(;Ry->i!pFv~)1DnYsG_bb7EEDmN5}L8x3uu@Zu@zbEy&!5_8BKmLtKWUgYR$?` zBRyGXOGWws^dQ^ftG=Uf1)_-7i6k-WACxX@l1lUk%x0y?4h8wWc=sy+-^b^q&+#s# z@ydR>N2fojzy9?Mq+lCxOMHo3<1}q$JACYGZ43OB*#7ufOLG!%wIjf^Ym1WuF1cqu zSnuO~PQiIqPAORCuKlrglm~T3Mz^8qg$YQwefBr|X?*A3__BHb0SF{1>o7w72W9Ot z%=Q+}yJ>pi`2pDLY&|9rd67eTw2^XjRXz#7H6)#lF%{@X6qJekBL5V=rkK-ryqSE- z3X$4cR!rc>n=|%KnI&E|29gM8n__KlZq1ePW?%*{mb6Ea;TQ#>^v0rdLRj$))KwlO zSg0<#a{f|c`mvZZO;dik781I9z=`tBasauwj}Q~1<3cGA?bCWuX?1v{C{;6^8v1cn z_fB6s4nvuXFI~R~ja7fiFPmNDLgA(sl}zy1TFs49p;|VQhjm!IwOWj%Hg29GWOkS< zXg@Sz3}}nY!4LX8!2Ei5%V$z0=bQ40N;wxHaR=ktdJ{Hl#+sVoO><8saiH4Gu7q() zK}$K8(QU}In&X4#d|p4X+?Vb1X8R2$>~RVQ7TA?7(U`8Go-?krDg+QU$>C>IS4#{`x&_6ZB_%By=cLt;7&pwm0nBo~t@2n~)_7V=TwlAwHRY z_yD-DbGtT(`<)%D1kX&N$5xE1`3J1`u1{ZZTttj)b1Xl<8gZ4vpl>9l^}gcCN_N4IPwGV&ztd*u)NiweZ!GBPI#V|hwQ=Z zAn9C+&~lE8lotG;djh$t6n0i&yX18Ftseh6IZm2;3rWC0Q-nbs$y`eFx}20hg1?4Y zvg^5h((BJav~evUDFFSS`9dR~)n3+)3ragp=hG>N@4~Hhx!s!*WZU@#?13HWmM?%G= zodtnvcRk9oaOt4{eU|y^uNOrT>{qWQNVTA{VsxjN<5hmC_(Mrf1n|Nn#@erO`s)AlyqP~Vfgx`vXQW?Q4 zMwv-X8=##+S@j53@({(!*4Q23qPJh*g8qrM+aL_5AEH4Zp0JO&$K|fFpdyk!o^LO2 ztHXyVdIz0GExidGHnYce$=obS737AE=}p?m0qnSESh;Ie8o^)dL@>gi?|%R?rbaBF zlWqZYr3?ES)$>-uMM!J23wONYTd_$adjc$k9{|P}!z~fgBZV%BP8s6Y7R2*ra_vaR zh|u1`=ag7oFbm&hNUbq|Dm<#zmfAVFx2q%h-TL5Qf!1WF5)M?pf`V=x5rz*>ITd6J zh_En|Z>(~86+uDWiEy%VgkRFq4Jl1|pV!BDda|Y!P)o5ZHY3bHSK=1!Zt!)FsrDWb5unuzlgE^g7VaNaTu#RZ0sZ6NAY3p`knwC_rf$!!&Ye@ZQnwmR%i zu`C<%lwz)*hIi{1ulIdl-qYMEH>8ApUkHtq-xTQkR}E}s72e)_x+ZG-H_a;dAs!26 z<@^Z~4y9y9yTvL(fd436xtHgqP{!KXk3v6G? zrVhoTl6hYo+Ca-qUjI{2XM`3y1?e62dMEBqdyN7q>k!U%F50buI*x=covrjER^PF&NMU3zfzzt-)0JEL5^T{ui*pMrmo_RbPG|8$ zdS>)Y48}INSU^EwPs-PMN|u*A-V8wTX$6nizR6b1ASX%0anF^-u^J1gu=i6# z+p1{qr4*Q{2NLQGO4grXqVI}Y6ZT-_a`uxfI20`g;odR+a+ahW3>@^Q+0nrto+@13 z$EcV;HiZG0N!9M(0QGszQJc2ulx0Tuudd$-iJP6n#p0Aa$o-mOa{(uWiRpAJG7ECl zCiu#VFXT7dJJOL(v?<&Lm* zork`)Cbnn9l6k(}C!8UGjTNbK6e<{-TT~hg+nk*>pK9zT=^6vtMH*vo2wkgtlj3QA z`ii57(TbqY_XWDP9dKw+P&KW8XVAg_!xOcqED~oq!t`Iahj=E`p zfV}hp&=3sxQH9MVp}IdrBKnY9j7(hg@ulLh*-V6?Y`bPD1>(Uk$$=N$;?+J4PzF?_|a>2BfN?A6K=tq+b zQTjpa5w3{3ibFy^Bu>$KiAa9{Dn|ymO$fXc8W$ELhC+C@2i29cdT-N+H zfYY=ujsCss4=iOl7urjZEd2|s*B%;CPh?U+1Ya1%+|`>fFwFH>$9`mPf7<~`crW(A@_0mW`n#Pah|a+j!4o>Uj2@#<3x*+uL6&R9 z>vYyN&5&H51tmE}`hb~;;x3J2%&$s9LLY4g?fEa_ToQNy%@kko$935)*}PF+r440? z+~|Rg3%Q1UxZrK3WTK!P#RGg^t2-kPdVX42JfK7*n%s&pCM=oPVS|K~VoJ2e*3yNZ zgVV)Xsqc<>=Eqk6Kx9zDMhD$13R`YS(&uo_yGBhflRRD$1fjkFTg)tavtspw<|dMm zc@BXuV|+e@Yw()Rq%~D-^woiP`8kJ1zv9mb17>I@`YM~8?J1g423j^6E|gEa6#>(? zaU0fntO^IFaVP+cre8In#N)k#WJUURT%I#(!C}-9OzM8M6p2yff2Z;X{=SiGl+FFyWhx-Ziyq)#vXG1fwfr|B*dOV9I*ffsSZ z6*_FJM9taI5pBY#3vu>SDIb7q9zEfZ)pb6GB(AnV31#@e_EjgWT}+|0{*(;HMMRYo zI7n&Bq`}OqL@8X42fdf5BNJlNm=>?c@i-) zAZJqiz|i#f+PU?KF$PS_Kb>@)M9VWD7XxhrId2SFG?K)On+2B|PdwKVD)H6eUxV;T zmKU|1%UW$x!4Zzo`g{20<5Um<0g$1rF=xK(Z}iCg0V_o`7;7YH%l+;HB;+{F)-$#?szg;or3Ib?^6 z$P&k)+Ovmy3uo6QN#Wdmy=aP>+yz2JaVl=s6+5G(pM3}J2YX0cj?SovRZI}y$}Uz> zYjQeTvUK&=PU+2?TAZMhWr!jKLJ0b6=xi(Qc(PLPuW0gb6iu6IWVt&lju4&(Jxw2o zrCd{f8)4a#r2g(U7Z*)nAK}ubDP~5yT+n`Ay(3MR=MH+GHKH6f$95rRV z7+}=dNT5WWjOrepu&A>Pw81@{DM$j!hrKRt$1>uGRB-nd>l$x=9~m(t7ir zC);%ix9dNoyOO%#`D)y}*2xX|C5s7F{e6yxGIBn~Y@j!uYXk2t%NBE$fsD05(q5UR zc+OcRDh0Kh{F)ptib^vv-19xl+IJb=vrj76tAbFwa!3=BTi~pzG+C9qFyoC_tew#T zTQev4@ayQPuG=5e63J}Yp|2{)9*Dftyw!703@~-?J}ARRRdhCA78Ir+dCc2}&CJXp z1d9&R;r6Um882s=f?1rWglu`z@l9={Nu{u@7N{)88fZGGBk4Hllc${0Vwg)%#yW#W zav^J)16jEWm5`arRCnReUVP^d>lhv%7s$?vAwXgXyl;f{4uVM1?+hX&m8c+Bb=G|r z=XNHN;{?j;KC;Y^1ptbmFh6PMcOdMJwQducBk9onm%#3czofHwKe=PhdcGE;fxerj z@s=|(AKsRkBVfz^drSp*odOrTB_|t)A5e3HDc+{oZT;l(0HthAx)M#(w$6uJ9{09O#{pZ%c zQ}^3SzFS-xaUSB^f#ClMl_d7JIRK; zPfJdj!FSQ7`z{&NS%flZjn$?J6?%(7`VclwjTgl zVm2}i^nhdE)W6r;RN8XP3ze7y)|$NB*JvB?p3u%UXxH;%fsGF$DQ#cYNQNnlYKU>X zk|Vcn#6oGC zJ^(iUMVo%j$L7so?QS*u0{41@ez!BX@$Bz=%&+K(F3^c2O(&MG(bnQyIo*bWR9>Fb z6TFcQIRq}YJv9^@iQA*cgaWi{$F_>`cZYXx1!s7@MrPC<&lO*ArNh$I3B!xk#~Agk z5#Ky*#+B?j-lavzx{)3r1Esyr8Xsn4hc1n-2VqPS5n8c}etl5F1>0P>;CX;ifa(Mn#FNw$dGpBSqaT3vjmyQ?-``_K*uM6)uf?#EP^`^7GVeVw%cah=@TAg7**ABIdsZ>4`zQYpJ&DwbZNH z5y9AYas^kMP_Fg!+=u>P4rVC~eTVC=i_G?*-+Rn8<5`-3z8A9 zpq@^OOgl(#vi7P_4HlE{*N)=IrIviTCL@e?QX?NI)p)A8(! zD1x3u7g}z#I)0F4M73HCm~Nda#QA+O^ZDbww$yTNr7~f(td*`|6l$PeR5*Pyj*8us z*+NkFecaf@;rU+by>S?bxxXf<16u8)y*G?0r&0~FmM9NDx;~nx@MnR>xFhb57D`({ z(QZQsUG<}sn0XdjJQ&cd_x)>cruStZ$CUEha9$v(U?rE<#haYkpWFuahAqncM_tmm4;JdLzr)+cke)ewtcP_ftt zrUJNE-;2&O%g-$gwK)@u56pgwT^3e-AtN1JJ

r&e%^&`L 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 diff --git a/examples/basic/data/mask.jpg b/examples/basic/data/mask.jpg deleted file mode 100644 index bbd1382544032ce6b99d0f2e8001fffe6593fb5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2825 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


J)iL>&HZ8&=JnN%@=Od$Kr{AJZ(t5c%< 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 diff --git a/examples/basic/data/sky.jpg b/examples/basic/data/sky.jpg deleted file mode 100644 index 57371b9f4022a5776d1d4cd8b15982947f16a79b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3766 zcmY*a2{hDQ8~+>oHW|AyiLr*rp0Sj52-%sj8*3w#tw;!AB&0%?^jb!iv5ajLUTgM! zkDlB{|6doCMISUW>#iqRxm3&D;NSk1BC0} z1YG=(b7z3?^YU?XbMx{3kwc*(BEljf|Il4TyX#(8W1fVBO{28p8j7A4G2OjqClr($w}`XkWYjw zGDN4f2XcujVZ_FEYPh#`J%W^%tYY+HA%CQFw2ZVM#{WJ>15%)chy>8-xGP$=bHW3a z=(nRqxs~&Yx|o;_vC}z#jrOb#2rUG-3Z%gvCoXFh=(dW=h}s=kuU-lk|#F03K|el%$v7XuZx4bb}FqhJzUhkA#x^TWqhUb`N|1tOD#r)|9IH!XN z2Q$Ag4UUZf^`hz)WHa^Qi8y|y;*E~=0&NEQ?ey2GuJ6gA-OFoaG?`GLDAcsu^6?q8 z&?}y_%i&cw-Eds4cQt5hz+$_=TgaONvnrc&Lj`c9f(`d!akzl)n65d^oh^-SoF$qa z#LRmo3Dy}8?~1>h1{I8X0zJne0G|NKy`}5(gUeMQKrpPWeOG^_2O*7OLu$4k;ujV!TS_fdNg zVq*f5n=xf}=u-={{V=1F#urB9p*RTG=c$RU=alaBkllCv@d-B{$EMPTrCv(|!wY@) z-ZmbxpZ^6)@wgUafE#n!E*zIN@?nK|n5rc}FwfXtDhGZS#m*$m8r$Xz+Eaillf`$s zk67~jB$j7x-Z}+DXKnVpmV!Yxvh!5K7R|+7*@lDXZ&!VjMXZ!L`{?6`3TO9(JxT0u z_e28!>a{&@Kl)~8OS>@to2_yXH8V(kEni{6d^XtRitn1)_?EZIqIR)EW}tMHr=9DZ zgG*m}_ESNw2hr%#FImMuGD_ADGMl1v%Pd`;Lq@61{l>nZ7nvPVm9KIu*VYbVcV7Lr zT3ss`Cd5_M3*L9S^f^Q9q8)*_dRxX~JX}FWQY;-!yh&mrIk7E_Tec|IwAX%^e(4z5 z$(CF2#bNp#zY^QyoXN|*`Y?UNzBPlCL3*6!DZu3W%!pVr#sdGqG0ZF4#-9uY`XHVL zQ(ygxKFL;R`-$sfumZZy_# zS;wEFbH7+Z%8(aj2u-ICRb08f!zd>gFsAKFl28mYuSPu12zBp|745Vz zB(A}D6E0M)i0w@*>lG3eu`0$smkz7lu5((j$wCfGzmHBA@cv|_@+<2{+S}L0TzfQH zlzYBCc%h5-i{TBWqRUjRc1#>G(cx2o8YwQ1bL>}AD*Pidca@~~ zT}x^|ev{c+>8~&xpWZSppIo(X>B>j$aTZy?-AyPJZP7Bl%YFWHgklZpshZvc!vj z*XmRrQTXjspUowqDzW!9)6Cofu|V*T+EZsNpqM#)L!6{`oC5Po^0rjeG1Tc!pbe#{w|4l@|9Oc_=}}So}j+b zL(7IEo%#yWMD#2nQsNYtxbg|FiI_LX+iW=8|D1CQnA2+SyA+=1eXLQgSZ;qj;P_6l z%0A0(pSISjHB0_{(Lt&EhI%(Ka;a)+2Vt&$6RX@T_zA1t-4aQ4RqMKt{JYYxB~uMO zAG@l*${t~gt(NhcMF%l17yDKQmsa@|AOz+|9$f1WHfwI+k7xpm+qs3giC!f(BMGQg zm_cGgSi2plOKM|I*+>kP42^?eST%6OMa=*PncuN`MGQv0Nrc_!1;}Z6px)w(Ro>dG z8THA?CE~*1%)5b|eYm*pW?r2|pEd9rtK1QaVDgSZ3l$hOJW7-v@2yZp#i-sfts=Km zo*)j=r^&7JKXWrD0)CA}NTSACYb8nFUdq{0VLxfYC2Xm+m+pAlQpX&&?XWn_VQGhC zXy?W7arF_UPFpRqD_60f)&06Y*-)qQ(dA*UVL^wSm$Pj@$*VI5hc&C;mb|q4c#e9$ z6wczVNZLQ|$|}vgz}8S#rk7#WQ9Q_(F5!I}df%}}GF$Wd%R6E5=6wl`ZSPpsLX%(} zIO3-2h-&wfLsnQ!%Fr@i7p$iT!EiI+WYaL3G>^tW`pKNywY^3-Xse{r9}lt*ZcV?d zCG4m=&NlcpFAB*$^3mPTE3zCEuqsLih%c=YU>T1 z6aC>gMN!_a@b5^?A17r_re6`J{w5S>3R}PqmS-v!qMAz9CZk+&3+MORBH2WDmSi>vHY6+JB-&+3Y`tH5;g` z2a!I%7=Xj(j3hyl`s0_suBqgBBz44!k>GO;oF_6PFlGwVn3K$R1v=9A6iwXT3y_a zv~ynPfjTqcr&hWa^LfkkCZoRQQ5JL5*EF}+C64^&f}M2WcM={rzcsT*@>b8_Un<2q8l-SeonjN#+frscNv-k@V z#InH-owh{_A~P$@taB(CVt>s7DqLe8aP~un#>C-dmp;eiE<@of=8%lfA=qjGPw-p8 zTlALC$}U#AeXQEM|0O>vNKMaWb+~qmAy`?qO7UX$A~Ji2(?N7Ny_c}){TwYi$$J$v zpIP;evy9n>L|NZL5=tXh22|4~BQ#jP-bO@a;1_ab#-EIs8NO$IBf2HKDXlW;^RZ~3 zFx4LILw8DMgvkp;Ni+{c0FV~rOl+wE3T+owZ94PfAu z@4J!u(OQ3Bg(OJ!_mGrC?)Aq+YArQ(*5A(-e7v~ml#JOB=UaBZX7bPTdOp~qO#z;% zW^ggd-y1_VHZIyhW=+2|6slgjyoJ2mwNO}%s(wc7Q_2zvGb+3pwaLzAPSRH#3Yz zu#OqV_QlXylRO|HtN-<)g2!%Jyj9LMkY3}v1iCJz{@bhH9T5rApbbB0qg0=@S{8#> zd`-H|9F9|MleA8fsO9y;yix^qc%Vf>ZW4sdlI!vggXT-~G zXsJ+kE;c^VxNB6uHup!;PvfqiHwf(qd#(q3c7NogB5TX@2B`G0X1h30GLCW!Z*U6y z-p9puaSMU=9-D2^fCe5;ZHwc-IQw?8WFW*#l76pG?v=Z!bH8sX=9k_C)!QH^#RV12 zB?Bi8+s0aMl;7k3*;xFhCh&5*;5o9adNyCw9r?;mrzwxlNu3uaN^EKsKMEy-wpuvA T*ig+2?(zIWu5CAbPCxz!F0ARL diff --git a/examples/basic/data/sunflower.jpg b/examples/basic/data/sunflower.jpg deleted file mode 100644 index 88398d1883df996161f68cf963aeeda2e909bd46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36656 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 diff --git a/examples/basic/data/teddy.gif b/examples/basic/data/teddy.gif deleted file mode 100644 index 8994c1bdd611dc47c37554778e8fd9d2f67fa0b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 746 zcmVi|3L_yF&8i-mV88xd0mnj%eW{u~%qwh;h8VQBHqA^Fb{QxZH z@Cl7db<(NwR?RxI-0rZ&S$Uh1@u=nnhs|Zp7|B)hwsATuZ9j{na#x=Jw+EQCRc2Ko zXrTqw-hwS%nkL2RODVUUP0Nur`BaU3s{qlC3gd9jhgImTXAjEGa9FOS8H zihMLH)5N{b{j+|Gr ztz$2JGK(B|qBhEh{UU7|TK2or`$l3DEp{>NVX+=2*1emx#(dv=#~v-fqS#MBQmdZr z6!OzHV)b%99^2n>=*>B~uG2lD@Z6|waXejiwQ{>}KXN~|p8a-!LGgdPZ|GcDInkp9 zSJB-Cm3ZJG$CQHS(FWdVaDj#oU-tZG;cyUkCYXHlEeK+6Q^6yhf**F6+=&`}7GQQ< zmB<=(zr~j#hc1p&(1qA72v>%Lz1UNb#kmCGh(d0tR$4mN=u~(W%7tQsN`|PGK1)h@ z8!vacXWMn8p$E{A%1u(sgUt0PCW$4WDQ25$eRgyrQ7 cVaVXaBhU$oC{uhU%IF+w$k1q{4-^0ZJEcu&`2YX_ diff --git a/examples/basic/data/test.jpg b/examples/basic/data/test.jpg deleted file mode 100644 index 04d3fc56dbe69375852039e270fc3dd71f78a7d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 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 ZtNNJAWQ5P*>q*ITsqO}CngKf#{{@9F#LoZ# diff --git a/examples/basic/data/wash.jpg b/examples/basic/data/wash.jpg deleted file mode 100644 index 03beb544de2c487112552cfddfc07816d679b1c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34685 zcmaI7cT^Kk^#2_Q9qCp22M`EF1tCTV2q;wu9g!wYkP;vW2qH*t8hVo^J+#o1fJjH8 zD2j9viXmd5M<79p{`fxSd!E0Z_ntF5=g#ce*O}d&nREBve+&P<0=P{LO$-5a^Zm_I=II{^paU=f0075x(++@B&nw8|0l;hU+(P${2uK9b{jccHYxMNz<$3Xc z3rG(<*LlJ4KLRrTUt<0rvHY+8=koL3j6fhGGb01z|EJ}DyZrxG{tW_nSO69D4nR5{ z06h;KkcaNyC|%V#AQL^1?)>!sh?#|nk%1M+Mo$M|KQ}W0&u{$ywgJwYfXwtPbgTe2 zc5VPY9X%sGkb#Mbk&zC_6hwDk=V4^}j~BqKs>jD-CGF0Sh*QgEt(4gt(r*{|B1ocG zUlWq`5Wb~;DW2_Oh>e_Q&TWk<+YXUO;NdBGgX@NCzY}t+JH6}_My5d!^1hL={R71t znkJ@q9qu`LhlV94`Gh}yn4FTAUsKzK8GSo5`)&Q;u%NIGg~g5G=jOlvpwfK(A|jup zrll9XEUs^8?CyE}?)~_}BH`z+jiW!uJOH}$VP;@v0x|%Zn3?H(&yjfm4F56msxs;A zS-CUwNh9L2E8B-y)V}bOWGMOq)~tfpJf=cq%q;9j;sUdgU*2}<7 zo-MIU_@amcND+J;azoS5$k@cx{(op6c>6r`^$QIPe|(OUl$>%-l$T#ncurMaQ(K2R zN5f!o=X4{ZZ^!WGh|@E(bMxn%XD%kniv+EPA;(``}gTdM-lSYx_)b zbA+u#q=0KFgLbn}+*ZabjcD5-Rj*mTT(F`u5i!VzyZE!Is8lI0XUk=fjksQVyq~-xC^5GBno86Ktv(N}@}|&AWQ`wjzjlYgUpr^lgAK z5ynGDeeCS(rVJ;OK2%=y^58-ZTtqV(H)Jni(3O)BlB5ric#N6*-K%`kWzuYw0Yt2z?GCv&uX@s42+Zi}PJ1#Ttjg|A?xnC^3B&Q3UY*Kjil zxYfd2)Y#d5ccK%{{sD|cO!5!!#x}RH!@UJ}bdXm91J@szz8sWDr!XhM?zS!2Iy@{C z{~W}r^q`|!IvQj7WK-n>fCzWrc?JCQC@{iC_LZ~m*BZRbBSkTQ`rHpZPShrikfZe8 z>U{K*Kg78=TtA|&(N8MQc)zl~iWfmb-8TIN243s@g<#VYU&ym{Tk95kG%5E}G+V=_ ze__jx#zjEH6ljd?ns(mArT6|vXYou0$K9o>DVs^!|H)tQea>5*QOAUQyBKzBP2-3w zQ?Ul+J`A=QVT6tAYQASz_u|1GZ?@vgZ;ekgWSUx<&0i|mVB9h2l_Wq`qnTvMo4ZXz zrApWao7OLDtkap@{jWIe*sjTeuvOl(<5ZF7zk<~VQbYikZkfoJCF5G_Uapsw7-*UI z?WQ2RPyDRptE>8kBW$9~z&YlhV}*{P5z|58N7rUB*=4*3x4vc0OGt zei*?A{p#CM6+U(Obq#^mBZDn#jp9^M`8A}^JV2YaF+SetxDM)(ABdT!Of4Y_fEf|Y z9NI0_j>v+vy@eRZEb5!i>)y3NG<4j}X4)v+; zwMO|*RcL?ukuWNInepy6u*CS1qfHGSQar`SWXlMd9-k6e-pQqIx8h(jw;a8L%QMRb zy0A?2c~)wF+@7khRiis0!r!A6J8JM3TmGYgXW>^GG@nAocera!2+^ud7U_ARdIBs_ zOiu7A8uQPyH*nBpcfKFLQS?99-Z^eK&a+2<_>-9;uFqdo9_{;^!A2!u$gac}H}+#- zdV<)D<~0=4jNGp)(_;c%yz831W96~BCXViYW+Bu@m?_r^f0U%Q(e+X;Te$XVj&XQ9 zje~mhs`okiqU|967Z|$DR~1v#FtB(WT}O5mxg;BLcdJN;V4CFKksqPp9mCc!Vi$u1f#WHpGT+TkA}?)F-}krwTg?yt+5X|O?8HK4 z>{Sz5K(Pr;#PN&f8&&KH=hujni0#)ljFz{jj95spyxGg6Enig{+o{2WAk}2(!L*5b zb#>9h#|ebxgTB5}_a~_%bf3oiOF?%mtm%LQvADhCKNa=1@So@!>nheXJM#^I2!|FW z$J8)ORVUw)Wvs5rnMq|=RUFeJX{1bi(DnW+0{xO`e#jU5*AeI5cocsF=Y|?qoCUM8 z2q~L@1*s1s4ZpU~jbySl$H5N1k47YK1yLyEhEV=b)1S-07p71bQVZDOy}g{rXG@6x z{CJChXYe;#go7E7EDTg!=O+0h1ajJd0m-x0?|d!jFN=RADdEB(Pw$P*WvYIE)sjU> z{?6vs(eH}vP9EHYh_t#N1z&S_Ri)>tT&?L&mea^U-I1j0?~FYz#=4kj@&$+PQod*X z()(3ssyE!B#>$`6(UBYVm~_KJFFxW+vDlPHkCn0QR`?vv1ybm7P}cc*7qzSgwmG%w z4!Z!%^$d<8ri<&z@(dT7px((VCxH{5b+BSnh|eS-N7>SEYQk(JR7`Vi#%&B|8sk=7 zh2BhtcmnNpNqYTj-nkv^(wqL_lfjtTD~7ovjo5l1TmE+lEefRF`}`HE{0>OU0{h0w z`LQS+iA>&GyFQnw#4rKL_u%j}d?3P2r-|z#W=MgIIK`A=WY(?M!i3<Ap z1{z&j`wsYU3`=k$n|DkM1oy=rA81k%yNh0UO*h^yRbr(je~oEbEfkxsiD(yt%wkO9 ztUc_bxRsG`!VyKO$OER)R>1(*0BbE8c|L1jGr||J#-*Jq88TWRjbE>huB@y|EaBEa zngG28+*%!j4Tv7fcd^q%T#BIb5mRO7RF|otC}^17K^%8|hQoO6Di zU#15)JC^sw@RLjs#LkMr6J|W%bdb!3 zwKa{-SqIi0J@?gHd-EA6%e{BmV~u9;2FpA!&}m7MJ_Z`;^6da`@Gz~xJugYC19L*Bz|01G z@rzr+zli1fZYEbjmiCqAHX3I$TCGcxoy5hlA=4~F!k!FV1`#0|n$sZYx*`_#R*|mQ zIzQd`{S6@(!kNyvVjqQ&>jI;(>%qVoe=yxc!UZx?etuM3be< zVH6zVG-AU(CnqkBHd{heCn}HEEYhy;v~~_;s!zcNjT;;7I!Z1z0`0p!t6l{u{^9s^ z4f;e=8}p-W(d2?DS`@+X+;MKVu3zlFAB&kg^k9}Add);LZSnav@hF8I3xCRFRW_4U zX{10!sT90s-R4@LTc~*JYWagtAoVY9JSNWiUIub=#ONp*HJFryR5P1UL(9;aM9Qu1 z?6$dkqTmohi4{b0#y&oWNn=PZtS_0gc2ioNLas-;l^Tu*^)cuYqPs}uI>Yx^8Df57 zQk2&Q?Q^teE!Yfo2;nI__VzA!G%&{z)9W2EOAvzq1vtvMhQoV#*9hm&IlR0(iezlg z9Z6EW!ewLQIr?RFSw0vX-v6ply;qIJY6yDr3sZwEQM%-MMc9rGhv}Q0+$1bH6l7I+ z@@%C)HYL}81{soWs2?+&16~5Cj*5SzI18J23z*4T*MJkr<`UJ`fS=0M9n`y zfkW14-qa6#y1@`Rt*#)CbWey2dGpEJG+EIIDp?uw`|pT^N3&A~fBkR+^u1@YYWU5d zJ2_YO)()?5)9K`18);O)ymd3F^os|IH0y3Na14eMNv)C!Vcz`oZB@^c{Pt0xU#Fwj z{kP|qC*qi&^N*(+W;(jT)A1?u@9(H4-))m$7HpHrkgavV<4JZQfNWFaO`{?}n~MMS zXH76+5YjXL>8~>BaO>jqkZJ@R*CWOG_mhy4wd^N#l6w8f`apjT`_U?ygck|&8V#GT zK-8*e-|8RcES!zTLVHX($E!*KdMJ!SWts$lNG4`M{=&&y3N*Sfo@>6=j%fy&PLkO6}WH7ol|3%1Z#7XY*c;RYOy(7Wn*EzK>85dVxlI z;sVyW=KCMdUyxO|segd`;`SgQH={FK>MWZIb44P86THS-+S;mQvniR*nWIy&M< z6$}lQtm+#!8HBtE4=}jdaA<39K9M~kS@y|P&Efn@Z>jcU*5jwoE?>2UK^ZlZj%OMp z>zu~I6yW{~4*nmc`F*O($}})^*Gz>QMg5li3<_2xp9Kam!Xa~mW%*>;^4|+Nj5u}< zD3>CC?&qB*rN#t8H+IGp9B+{(dt$-v!fG~`qr2byfQiT#5`~LB*&Zd>+9ZG03~s!Q zXuceV3x4JCV|b8)>f-zF+PbUNMhh2sQrVFFSK{v~mxRn6bdoQ`J@L2FlcvItjC~7? zfWYn@J#xAwJ?v%@{HlN9M|1+y-puAn7@03IduK3`>_l(jg7{PE_Sl&{PiHE+lu+W@ zqSLE5GGayWR27Z>s?I^(= zz8+A7kY@mqlI581J0q>`;Dq6MIl=f+{~;@Etqcd%`m%Xm1|jAXba5|McD5_)Nu!xt zrA*`{SW24^)Ce@&=K0wi8Y{yVk%V1LaE|jQVhh&o6KnaVGesI>4^aZ)aKMan!O_{N zIeJn*ak_zl?In*t2R%yw8nG8vD7%64 z*iz4K$9GZ(e`crjnk&=ebryCXZEG%_Ift2xU(0A*luG~TMKkF8iXRzJOq7$N{Q6@* zMBgDlVtH9*iSj(ZLR@`AlvyOrj$J*_c$dmlOu76@P`WgAIP1_W8S$4l02&=jad*`4 z&S-ilBz&vC&?f!N$ntNDt9(@~}x*7)Ea_b4ZFtFqQmC(vGHhV_A`{-l+rfPAi0QX0Xs`9lA5y6|GETm&|+8jpU&q@ z1Ai0s?52A7b~F^QrG9+lF*oZ=HmF~vw)zJfE5Y8rsbg2F4l#maqh#$Q>jquxsyUwK za84CSUTYrv=1LuKj}g{TTEti7qIJa(>gg?I4oi|X8Q+lFZ+arKxDgwRM{J9V_MeA~ zR&M!d22QFS{R0FEstu`}B^ZmVm%Wv9n}aORWR2eR2jhC?yQfa!f_{cKgLv>i9GPQv zHpXT%c^Ji$YKwWwGrrO7F8-GZKc(h!8%zi7 zgMPHfw~q}5itn!8?=7)Q(~*H5Tjz_*v~*6-_t1U8mXBcG_Lqb8KU;~Zj@qP#+_u5U z23<>DjoN&)^7k{}hs)o(rPefWWNJRK27mQ^0#Y&K7O!DnCBU}_E+UlJA*tG0{&!%) zlkVv!xtiK7ti%wl$5e_ZMY5Brf;`|jD^ypsn5wehi3yt+r3#~L?o&S|g^JzHpMBi2tQ}^nz@`k&^p2SZ3k=@s9 zeL?Yz+h2^1?X+41wKk(3i}{d$a8dK9{66XXs>aO5eqG@3t9OP+kE%j}{hikL+!kuz)VrZ&UXN^-`iCoX^1i)8Gl zzc?z4RhX+vId8d+muvS6eP42RE5mpcC%fS8h3YVr!4LOMOn=B#Z?d)g zfZYta2>;F2>C=cwO<3-WsDFU4C=-$c^x$=N%jQzV{bEJDcz%Ts{B{nyMHjGel1%OI zLytBE`$7Jeg>G2WEovk+iZAd~FhsjTd;Rooi}`-fgpFst_&6s7c*s0Up5Rx=t>>|o zzK~wR*6}>|neQ|ean;XGT-0|xy+pEa=TErP32KBKqa(_isuqslA(`_s36!f}chNfg z$_eLat@6g!rWcfN>@Y72PSTEhLhD~}uC$gttb)v7l*c*Z+GZmb{dED+_>5Ip<5Grz zv^L{O310)1w$6T=*ZT&|rZ&R;-rRA_Px)JWyEI?CaPTOPG!BJ?$T$mXE}Y4{2xnd zI>NBjs?bUDNV2JLwzXbs=iOUFA8T!4`r4L`VTx@sts#-|K$a zb>2!}1j@m*R5;`AndE)&BIqhiJ}HXrN4Kam(P!}{alD4x#GVP=HfQ;(uG;Bmbg3En zA&hNwnk3y3xqKQ_x9W})wJ->H&*xHj*9opOMK`q+A$G~=eAh9!Sp&Nvf%o8u8|aHU zC8p`Zge_bmJLP$d3F)y+vs$6^N0g3S;b8I|Ua6_@s;Hccy+0?mrWeO}6O+VaDJXi7 z>>y+a}Jl%s%uX z)O}@7QhV#ChCzs=yzQ_iLoW*qIgUQ<72s@ zZb8iW;j`^O!S7RK>2?>*_!D1}P5#s@UC;G*B^=SH6jSFhxsuSK&ANh6TB>K)D@1h7 z$qhGZDd)7UBSZwL?PtU}UAgxNwTdtH^OiNvoGT4*$8#cT(1F?_O!k<;6Z@%ezgjz= z+jw=r%F1jf;K zvnzG}1*R|_%&PINS5*6;vGC@|w|l})9oW8%H@;wYS6QQ4_+7wP&&GsOA9an}b+@DG zX71~okS5UBL_OXo4>3QiA)Y4huidWy_Ggd__>2xE*yGy_2&Sf2xehaiNrXInY4p-( zYBMDC=&!Tyz5fP1rLo&2t3m7X6dlSIznqG>u-M3iMOYC$1~`2Bff{$yEo%4O*fwE;R1C^9;I$dNs_4{Sgc8 zCHf}r&$@|J%B}i*BQ8}KO*-7u#`n>(`L=T6>K!FN8+sL(T z8Jeq$g|XWvh6*a)pEgH--G3G}BUoK7EX=zM-)cbiUw-xz;0F44xb{8lfCQvaH4C6E*Hx%G*1^l_ru}94sc|=zvO>Ke zq0#n2uGUDpK|)ac^E3A~r#xSKbpATeRX_cbSe4bz@B!tQ!lSvc|D+YI8)QO$UJjj! zKJ`-hjFpPo7^`gnY|Ia=A3h==AQ#cKa_GM)HQ7jjYGE?)yAHb~ zQK9QOpYlG59Zy%@8c%5a(2T5G^}T5{l2-6lnl%+Qre4xG(Eql7myGBCE^Wb4BEM|m zX?$uJay>byesu&UAMDGsuWE1Fz+t1wVf4D+urhk-e#DMos<&>8nT9*ZG*3q>F0Dz5^<} z*);Z*qj!6g>n6b(03XVxdg&5(1L=o(u4kB0FfZTIX3Q!VD*c(%j5}caOj9xaHJ&X& zLfih8w|;ZgN1P@Qud>Dc732{23u*UQ5oPK;a@T!VP@70#4&qebv5l>t@@y=+lA421 z|6~4gLlnMXG?(#ua8a`|5z^?<9%32bAIE&#cySL z7qoVTmfbzBP{_4xpi=!eZFN%@$Sx@}SaR*w=mJL=dG2-Y%o9*o^GCLCxr;+fj-v~} zRh&q-TZ0E*XLV5%T_OS{tXSg_E?!aMToU1r0x#FK$CAg;ZG-fcbG8K{IkjUiMoSzv zI8s8G72!+svhn2!DZA*SwHW>>2fK=aec?vQ^f9**MUeGf7FcGC(SanurBmFUQjuDticY=pG*!fvD8r(x8ksEE?nWevmNS(u!Kf&P={ zyv9A+Xu{baTcj>uY%UfXYwOVl-6Fx^I32LyHW^O{1asxXuZGWD&svBYOo%y-L(Psq z{#F`YX1nh0TMZuQb>BVVqWylamYdAf=$RBEVDCZg#*`dGYB?2BjiujYfy{iLbL$ef z_XeoJl7Fb<2!;tAq}SV!KeEvkW9;JQy}qmEw|+^ph!`lCrjB*U2^c%%_L%JOKOVqk zT>gb&$re>yeR&V%XZi%{eLO9bO8*71hv^opuqE;6X6tUaCP3}J5rp~1%!RzS& z9PXY`JI6gFgpBdxuKJoa-H6D$Y3GF5u0cPplxe(SO%qSkvZ+SuFsi->0DkU& zgX)A6wz5nd6{*T|@cqDI?X#}7 z$co1Eub#RBUS-ZtGmq_ zJKJZIMj_0d>6SG$35l~O-HR}uvQ@7I4z1sxc&-VMft(sDfh<#BOTx9gW8)EJ`R+*b zwJ94i)_Lp zqoovKvU3%gjtQ~}cVa7uE0xI%DfSYJs1W4M*k#RosNN( z1LieXH@=seaoeOd0iBzlvm9-dYc~FwzW#mN z|M8v7$3MSMEpgnQj!n<<3si~9UHAu(STd~}vKQrWVcl$n;wWDNRT{w5Xy-^jR$hib zvwI}uwfT4ABBQ(7z5WNk6X|7HQ8`BWQkz4x1dhSYIuwyK4q2-RQ@5S=SCchrK)FNRl+1i_ePztZo-SM z3<=YE{nv{B)BWge2eb@2jDBiA=16i-5H>OhaMl}3cwwPgqg&+N)7~3#0*%^(&FNRh z@kV#yqwq;mn~z@Ph<{w~jn$JsoPI9yA)U)ew`Q5fqv@-y<8@ECE9a_vgT9^+g))!h zC~l9st&Hrm5!iO&9|0@=cA4#4gFhmLKp_u5K+(uSa^&_17W3OM zO(ns&VWS+6<)eNw^`))HR~j0>de%`KOgHRnWNu&MV1keg;l%ZIK`(df-J=NqsOm~O zk6T)+f%^TWKZ%=M_|=L>UcKd)*WIa7XWn4!FGTGhrg2As8;n&*j;)8RNWn(RQ zf`HF_X5WGWP{8x=-qnQlYO&w4KexW%Bu;D=1x!V|1w+`f#%l$C2hz`ZF1(sS^!h}# zOSu_|1aSwq{Ccpcz#3hF9L+@pp7lfFN1-gK_5!uMmHhv?KPs>z7-I(Kdt_jL#Z13S ziQQ%)ew>?R;S-*Go;<$A=gz`HGfHY*{YB!<30L_1+Hc%Y-Agmf^aD?c?rtdCS2$f}+2|@X;dQO4Pf6 z``z99jJO{kZp(9usR}%hPa`@v`o)Ucav0B(Dt2z5#1j(Dt-9jvvzXB7__YITIL{0dc*|JmI7KuPqm;;X zKMb0eBWwF}L*bRb^7Cg8@YCZumGLISm=ux68OFu{?vai*@WApIrYP;~6tvELJDrpA zoxZkjpXemX`47;UUSg$7@r3S?Y!%Hfc>&wO?*6Lao;9TWj_eapMtm>J(}s;E<4Hmb$=AUSS$pu%Pb4df3uN#!F3;APt=$|9Iv%$^dE^WV+Gx zYwoXiO)3WZOd6MrrB?gSzPCwyh<@rm?B$!A$+nk^eI2H3)VpR%9OMM~@MksqzoqX? z0%JG1xY9H!g-%jtVll2^A#yz@=U%h>qZ0CrPi}7$Q+8>yx94mp1w^QG1WDeAcFZq6 ziMsM!8^|g-Y8#piGBWb<<-_8tzEJ zKXSb5+pT-k9tacF^qPxJ$oS&CVvdttaI%WQ7h0#=h`V~1u@w(bFFZ#Y9PVL`@>D0i zUn-3G_SI-c5%YBkT#r!dd!}xD9i?%@l_sF;+USa)hc_)Gy)OB_2p&@!;nNtLaU3mq zewKUSgwJOWM5>#n8kr|%&D~4obBa-}-?G$2!pR_ph+J5bd-C`@Mcd~ff^m;O zmt<>x7)&=irCj6T2-}d>Nn%{o^Aj#yMnw*~9agDpeT6SqUl;SaucZ#Z@gpmrzod2ZG)WQtFp^@IiQZSd|?_hONdk;<% z@l*bU%DGc_*rm%J7DeQ}Bb(nGmy{5YFJjktus`|>x8GvXS3Bc!*H7A8{ifWk6$h@~ zk~sUkLzN#r^GUzO0AKt9%{H0&=HUyvR{{bkeNTFQQt`?Sha-&$ZryFv4{od+v?ybS zPy_a5bj&J{CQ%E-MHGX5PcRcd)2gD+Jyw$LUr@$}|Fjka{TC<3`aiKLt7H+9D}h9_ zy`Sn?4J~C$4Vd!3hlkW~=ncW2puFumTZ#-_D%srnldC9$R#K6w{NhAx|GpXd*YULb zwv!)kWA>_%Q<=kKFy^Rdw3b^oG(_o%b*pAJKMY6Q1vcDArOlZzd2)JmS=R)NN~FL4 zU1&|$u6$)Jz=$$ms6VZyH?rsyD(^PdStP(7>9riA{pWjn-UB0`IYT+UZ@=zIQk?GC zH^~Qoca%6251-0))x;v|cbfHd?zvQx4*X+4?t|5p2;ENjfUCh5l_y>5+aT38PD^3XJ*>p9nX0x<`Y2f-R9v-tt#X#NE zIS3W9rW(>Qj{ zBqi2AG5MGp9;l-Fj^G(iTz4nHA_@^=Pka~`r#{Tjt2$f(tx>&g-aNQUT*ZZGg}jfv z)L;HO(hyPqH&_-JV&qvN;`n_Dp437|P>eMpBE1u{;w*F6AI69uZm*_KjOT;2piSev zPc$2R6J}OE$iJo&l6_{x+UlThl%!i8xoB?^hh%e5dNX_Vtw_NI!;vV$*=dB~{*-!- zcYUkiM0|$po$5c%YT9c%wt>@qcm>POLQ6ncoEHirbcbyFJ z&V?Hb5N{bLr=L59r35ik1pb3>UH-f&>8c$YPUckenUMgfD_#I!En)7A<=^g+~MFO*8MZRIc7!GvenBf8Y3PI<19EEx}v-{YlF7hsyutqKBIi zW8GDP8ao2r#p&H-PA{e%94tQM)_~XvK%h&kOxn+_TAmzT<{!L zOaqAdGKvEkJ5B%GCLyq-^D^hk_c!OPnO@PFq70Un=fp zysjJnI=O5xk-qs406c^4Q55B#C^`N}Lfj#`^~KQ)i!)sG5pk}rOdYX}@GepRGiIbO zPi%&;{ZuWSWbN5^(5}oXb-#Tck8Hrmi>I`7A^2==Ev8}$&2{<-NBi#>UfvuS$71N~ z8xWn2TUWMEdqXlSU@wf&&WeiqyvpZ}P@^=mL7QPY^uT^bPXJ`%UxFOzdvhh`?(hY; z&N#tFA}kx$3&4z(k36f+ya5_ zH(IvDIDznownYmqt1I$E5(?Tmq?+Um02hC}m(;h7#TMv%lDYg)f+w{}t|yIJFPb)g zKV^MFQGK)sUC%e%U7R!Lgn3U9>>pUfqixHsHp?~VS=f0-+SwNLr7>KeC1#@g2ZZb# z;>IdXtQ|)zpE{h-4e)XcWEx4Xn(Gp+WQ!C_O70KS){->7j`&zWmEOxgFuKM)7}SFq zI+EO3&*Dr2HkH3_5Rm+&#>+0w3LF{eM7j*nGr}2w8ZX8l(}mPLvp~wGg7>>?c zbDQ^g+=i_U>b+AQIYOeakS&tphI{#L$gE6025$i{higX8BO_D_idU~C$;f-zP0RPJ zv>WlCmLeJM6IpP358&_l41To4dzCb6Z%;5>+v4tP4T&l_q8yZ2jpbj8uzc`*hLQ8K ziO|Wr0mZdb`4?ePO`k;AR5xY}+`C&|=yvZ!d@H=j%3wm%qdna~wuY;1-b9NiAcVD~x&{7Sx|Frbn6seanht7PwnnnRh>MlkX5%v0jXuDOGwO#BInhXS^Z&lN-I; zKSrG=jziwf^2k>sUEUUNX)bz;!vD7Fx^MxUPiP+`Ue}vi(MV zeS5AmZIn{8kw@yX6?AK6hj@F?bMcYMAFu?r_G?aea)Mih-=_5sJfsQ+kptmMcL{WS z>von2$Y7V2>&7Qws?|ct(Gf*a;&NPDmTIFc-Mlq9jLqvky-LQFPAsk97O1cGb~K$=MPHPu&Tkf~WF?8#Wb<>+ME=~3Bc2$=P-5v(Ec z`e}OIwVmfmPMC=;NZd@f3Bf>VO7>3xO7Te!4RDfqGB@coNU5pGD;k~hBDERyzwzpA z6Y1n-#eIhyO`6pYi3_ZMoG{1@Z;5#az!qr#6(hJ#~pt-8VkRg8;dLk)c2f@G@lLe=;c*tl7RVnzmd zbqWS&jGj07bhOqZOBBL?_3_!w%VhWPCj=6J{=wRz4VLmrY8V**qqYL>X(Np30$o?c zDa5g+*7TZcmo@zYQy#y~wf4*EA~`xYEiO2iPQ4t{o+YCm67Pt}ZM|)2qDF0g<XiE;t_?;tzBfxB-4`N!1$t;mO8S5c1<^&3^VxCf2ahD?do-!L zBocl}@m?15r#E>>yLaOso0;Hoex*pmCK1$XCtA zA=cEo1*12NW1AbH^Y?=QEwWeK1}SF>qhOCx-fKCk*0|y6 zR0hs(yI`UtxSsGNSyVo)N#WB(K1fDiK!0h2W!@r)zur(0aI)!V$-jNetY*s{V^|R( z8P|7ICLw0{DcsJ!VbNJ}?RRN455{owY-P1N^XgjYxS>p4Zthw=fS$2{?9|#7ftb+K z2lLrmj}8sL8P``5<%2)f$=o4tSiX$6&`YPjY?jq13`wMxtBEk$jE2r7kCXjHORnB@ zPkFYz?yTkkftPE1_3kkY2)wc@D!}ZNJvwx|%P7NSSa?l>My8MkDk90k6dpszG~yhYIZkJ*9xwDwhmjVji)N6p*JAhs@#a$3J|p7nJI;LCqf^@|`b98S^+X_@#f7ms_D> zX#=9Bbhg{fpOd1Hq5DfjJ1YZFbnk z`O>*(ERZqo=r`&6*yrG}`kvyz$S~RV1+CVuGv__)bg8W-vl-BLxQXWV2R%3O$fUHh zmGL9-^EY&+!wUY>s8Blb^68~0-=P@xC+L}W}689<-@#@e*e?TSZyZ_6uV z)q=b=O(g)W zN0!^f`&)iI7rkX-k(gz4-&}smkdVbwr#lL0BEw^PLu&mPjf~TSb<8q~KVj{iS`Mw6 zN;b5smV9&KQbnJTMGz+UEbI{fi6<{xIwR-j@i0ZW@J3x&Y`J%PAVBe?Ea|9 z4CjhQXH8nHQm#H*dsOtDV_(E96ejyXS7ROn-AQ$H`0`tCbL!F&P;$DJ+o(JIO*$JFs<^} zSOh4ry_=I?1N{9YFDFKMsy$l~H{8ZREA!gX+hL45KB^5Qq0A;AiS;l16KuFeeJ>gB zm?JasnarkbSHpI1`wr&>!$~8jr zg^~TCJG~d1b$#F_3?~DeR#(&$5BD_SuELfrwFI2>sOk>%X#{QSJ1bj;ba6xxvm0$D z+%9)((G%BOmzZ%(>8*V)>T|xdG+UNspETY!RG{{+-M4zs%N|npA$>6g4Mr^5cs4NI zQJ}SGuLk!0@oX?M!<$EfvXlA!kIl`#Sl_x?@E9@;qd_mM>XcJCWtv3vHxL>8-VLRx zGjZ!BzICr$c8Bp7TJ(dVZ`GfGj8b}l*38F)H1dSPb&QO7{#_pas=9if{9g9Q($piw z8vO;Bz*gu~vS#dukmz0CzZsg-F?@~;qaxoGFP8MZW5%^f$W7&ROUGzLGt7aD-~0Pn zEKcJTl1q4{4sG06TR7CCj9tLQm1FHv>pYP0sOR3{CQ2QdUnciD0ZZGHT!3_}xRG}1 zjITMrs3WGI%pLy&*h~lkFJlg-HP-+v0zVwO5CSEWoblZx`rCu;)9mWbJI}Iv5 zfaqQH<ehQ7qbOfX|s<;(L)af`kqNBvkQ(_yUqaerD{GM)&3L@`J+XkKmAyfQ``8LI~tO)}3(rtyZNT%XU zh*>NfX@$Bo;M1RC;lsRiSgO8 z`i7_XctH*~-Ez1HNK-N>=H67k0!xCEHCwocpV?y_rV)$Q&Eu&3;U|8B2#rsJaOJ0l zWxEIdqrNsZ#)F*a!OrB4?m`*exn=4btw-iv-e!g?0}oty!Sk|Zmf6p$yRm&ec3p{E zV{a<01uObz1W(YY7++areB{rj23O^9+nRdz-M}wVC(Nlos&xmArLj-2cQxuUTiWEW zG2%V?ynLv-KDk~2#R`Dld9>+>6{%_+2J=Z5?il4@6m{rimrOftd8PrSp4G1 zDm%k^iH*5yBLJ%NSI3H!BRiLK!S->HQHTbm?+kmL%;p%34|2WPk5-dz>q2++iaz&! zmiB$ogpijRG}d*Yl+j~!&2!VUkFYR^UrRggK|Y3IhEV6##Seu zK6!$Sl-(HX7RmS#zV1QSy&d$6%mvQINg@^WeIx_~O?zE;ED+tl$o|nH`xCXAx5c%d zZu-+~oR4y(+nDVppPy$=Okk6#fAbLx?j5-rn2(;%R+w>!N2|ZT*Z5tMAv-CV!7J`- z*sHyCz8Aj)M6_nQe*hPmjgo(@yXsFfrDs|pjJQ9Qw5$cYV&JuKv8%t!UmMp} z-uhJ0EfdjWC%%h*6A*NOc=nw^PeLMMTEtkj<4s(CpwMmF?cr5EB2q|wn`a9hmy$SP zmR1C)H7((a>OPL?hsN{E!jJw6G=+rIT^lQ1vyuY9Wkmz7w*z%`cBH#)*Me))hGgNb zJiFV80QEk6+pDjU9&G^2k$M|V-TG!841oC`fbrBsGjkxl5K(6v{#SiUb~X|`)X>5c=@va?{>b=?Cd0u33`THr|Iu=zNg7$ex;gmIJkYr0F%!+6W`)ML zQBW>cL(7&7DCxIKJiiD$Tn<_kRXGo($5 zy{=T)D&{D_5D%)q?244ns-MrFLg5eSWh&T66}AVnF6Qr+(ywmBn)lAnH#(0ik@B%@ zvRMKZszpC8_nrPkB-bO-VX~)$AD3?&1$Bq2Yb(ACP}NRrZ#HFXrWFP;AOn?*J^~&k z>>zj4!?4+#zajG55S+tah&Ej6m7ZA&Pn(I>>{0D!dm0M+uIpklsBf%*4*4zTx8u$Z zOYybS9m#R;gDQKI539IZO0u>MQgVqi6-ades)qSt6RceO_o63kBRIi}PME5w=a#T- z*yF)BM<@Z4kJ9Z@WBWiv@0ZJ)dQc4WMLE$B zD4SQ+@ef3O#nz45b8KNSw!l9=ee1c6poXF1x{2V4?`ZGhN1C* zE@@i|eEM_DN{FtQcHUFI0(0Bwg}6D)+!2_Gy|7+nYq9weipLR~KlOqfi=YiUP*nme zG8#Tr9T+>a#>*oy8*>t+Al3?YE4Wt>fv|ef)QLIw7)`U3*1*J6a+;XUlSaaI8W%PY zyJNEn)*0GHN}*X;RsQn(!_oB%aBLti55G->T`p;l8fi!CAF*}<{5s*H`>*<@O%E7T zY0_{vYRQTOMtY^qijx$2bft7L#~%p!St&)ACHWuVM~Ez!DGtW0rz_I1j5~H( zILB;G53d_F&A_qch6zoe{qUEZfvZO31B!tQQ3+L0t!g3|(mSQ3^xDje<(5WK;;Ag2 z4G5qp-etZI3tK&m6Sp?1;&?OPmY0>)ZB5bv*eUDZT%WkH`Yp)2a8z?ItSzsf{x6?X zl3!QdzIXo)p8dCsA|+2=r(asVwN+UXo&N6rEBKB_AYWI&Q|sISDhIL9y-$XwIOegRgt&3$tti~KE3 zXG;?6Lefh9d%hoWgWhyUVKKOh!+x46MEk#n{Ti z)6rrZCyMV+#GBt3$=!27SlgNeod2o4rx!sB5MNhsZaoWkNB8etb+$!cY2<=wd;}NV zYS}o86V9(5n+&$CM{tQ_-|P;mb1rl(?!LM>-HL6(#qX>?SMQP#pJgL~InZUD;io=U zE*+fB&BbwkZPU#6U^hE1PQY^{P?B()H&WxDGgEX}-2P#la0gHANIAkWH&th4A;ytB zEG=HPch2MC&Iel>tX>yzm2X*2<5+szjxjpj%#&=OHE!t3m-eaj>)orSX*vjFKmT*^ zuuzo+;FUAl+Ym>S=*kBKHXwNZ0~GT(mZ*`>MJ4GlftyKx` zRGIKpynewW3m~N?$9%S4l!%7dd)3}oUUQ4igSca5f89)vhdDsVEa^ey@Jp*nJgcE+ij8J1iHM6hhAZRVMn zmY{fDJ@hD|t^&(BK`()|w^Baz$NmfaQ0mhl1620-BmMhh@vN?(e*ycQ*Uq$ zcMV#Y2qnPzRdrpFTjJ_HUf&Y5pOlw3Zt2s0eGD><>i6!S>dFWi6|Aebs0_@oRsLvU za7~+AEL5KwBk;Y_pSuE@*ecYwk}!9xq3Wnn$prsK8)qQ-lXak0JgIBEo1#Mh5^?_L zv|5~oWq-6t=h3-k_7alnlzL@$C-5%b=3UXA=* z>w7WGqsJU5?lb~S4N@b_kLeS#qi}wJQ%vD(?xMsuvV8uu{SC@ERv8~wz}C;u+!W}U_G{P}nGLJVLj{B4 zP!SWszr^}Y_z8LbXB< zq62w@iIG!m<@v1^C_lwZj1++|K4G@j6EhcKHHhuKQDB4WWY&DQL1T~zNMTYioO(X0Tp^k zdZl1f*LWjVe;@G8^E}oS*o2=PZ&ATL@+zG+Pd6(0iXsbTijbWN?g=;x_C`R-UoHb+je_h^Ic zKkY{VHAloUa5;%b0aZRp9ufM)=A(;vp-rh5@%76ZC%8(Hu+J?Hnf7*OL*GYnXJ=7V zm_tmztew%fbR+U_F2l-sC4)(gOwBc~?! zb*0s8uRBoT`iZve#K70jyZEi=0^b|IA#ke3SkCM4aBkQvU50UUFRDH!$1p2AA$3V% zdm!;AZJ?Q_NlKS*!kj+fK{(LLqlDA+$Ho)Dcc<1h~nCkdR`H}&RQjj)yOR}%(Qg+2Q< zhJ1u8LCj~&pd?ps76R5F``-L*Su9LgOz@q&yG|3P-|biQ?K#RJ3pQdwam_w#eSOsA zi%!fs+m9l-gj!INeQJw-%6|Z$U!v7BX6PrY5kL73q1YaXyFX?qSu#d6IAu-mcp*9FJwrNeZLPol&nV+31l8oQzl{OH4D?@qONx?9q4d^7`pl9J9|5k7l3^E zAwH18_8GEIAt%WDwx4YA71ktOW&;J}Z;?p5Z3Qe;Q;s|S>wZtw6K7-cD6$?g8)e>l zJ=gpB@_4h*?M`C>$gGmwYp9}=S{L{QOFebIyZ+A??ZYgX*zv6XIV{JzcfA4!J;Nn; zZ1a;3oGvu7eb&(xYB;)c^W+1|do`?X9kOPov$i}L4WqPp{td3c=o3@yUL)qzp(`2j zeEvv9AkpOgu_1`M@}a@4fld`(_=s)0uHoktyjP>aJ!A?AAsu^#a! zd4NDlvkk-K1bpaHK`1B$>iR`);4`Q>xI5Yg-g)t9WJyKlpB`Pi( zob|b6i@jEn!<{nz8i)I!SwPx0upy>cy&)WN|4i?%nj+G1ZU0HaG{OfXWt6Q3HhrI^ zI_Q)Lm!A0~+tiC+o^QN5`I+f9lf}0IHn$YuGytbb`%3*q@B)*LhGUSEOa>)J*rDFD z*tC85GpZ@x{%q6t8mVZ^X0oL!r5l^@p8We%RsY#QCDSZHRc19D&rWd6w>Ni{2_1nT z%C3VW%Jp$6oW`){pQY!bLoB1H`=9L1bwOl4+^H=_SN9K!BxarHfhqx2Tnyg}s>Wkm z-rK_;R1%xSRU_pBOdDIV_TqD64B~0sUV1B0#U#Fa^1M2DsrzDlfB@h0qhlN-NNw0b zqNM)ouw9|jedRpFYuEd#{Ip)mta!ahQj|7n{HJs;omN<=+F@Nsw*Gv5GzPP2B-U#S zrLM5(>z<5*CL?ga7g9YLWtJv2L3dT!Vk>#h0;J$-hX)ym?J*OiD63ZrS7LzReXqpP z)@Q#fcDqiYwzk`&bAF7fx`5Q!7hSpov(8%6%hdWLjyNCkun=D(zEmcb_LmivG-{~< zED4IrU%km($&%qPG zl%MV-l=!u5srGC~L53H4Q^tu#<9jkfpFm9={Qm*8+K=!D;Iu+*Kp;T8UQCpSb42K2 z21CBblK@q;^FH^b?-7AILi%qFt0>jL<#xOJbfYQ#!V{NN*Pho}j9kye*9Z2WB#T&4 zKcU%XnqU?9+5~Ky^1yqSy#;-Xnf##Aip?CWKz)2z30?jV@D@w|5GPr#>7f!}lA|1u zqALioH)`+lROwHZSShy;D^}3jaJ5>09@X@0z(H+KduZrTsnpff!4YhhfS}?Mv(z`a ztC@$3TOu^_+}Q}SF~Pe0n=AH-nL$fA>&IFA>rN04-B6u~K+P4- z)77NQ_Nf}gOE{$|>{H>jrkPQ?oO1J{?WS*~V@D65;6OGL7K{lt$u|@} z`0=o@t?lTDi@H=tPfft!-%L2Mz85;ctSX=?3B6K|&VN0?#;CK!**WH_Xx0gu1%#=v zWBPgY5@Wav6g+pysZdl%PDUvzzV-rlxwk|OPB3*<^}zD;ugXQM%YWu`Mz!tXfr@s_O5nA?ssxIH%)w}b7c{bFGR9$w z`40%ZADF9z!0VItuZ44^67?cod5BlW4|fflquO=<3X4tkNDQsDQ1r(4$6?k-FHtfy zmfb6JTQ+LsmQrJ?z|i`#zCNXZTWV$;=GpCC%ZUNK$KAZdq419llIYa5Iug69qmuj# z*|yYF9vbQ+0!lUmTKUs0KprIDc)og7J)c9M`dya}l*rd3TI3j7Rf$19pMg`T3dh_h zkz^m;!Zh5#_WIFQzK@f{8)$B!WnUtZJimI}+Cvph*6>oeJ=T}QlFXFLOXTT_DreHw zYtu+hPHJ0`!q={sZ+_e~`O=vbJH)Mxf5*j9bAH)t!kGEIkyx zXeQ`df7r7cf0oMiNkf>&(LA;I1N_O0vj*ZXHzjME=f0-B)xI3Z_=8hw=;|t$>!lw+ z1|k+s(fEx&ZAjDT6rIY$R}FS--K(Rb$hVF-duo-w`1g$}A9pVp zeKlgBP)>$aV?E-qd{HtdaT{)jhqd_Fb73UdMu1 z=$iwawq0J^^)_=eGvI!b)Kv(JqF-`xiU~gyPYQiZA@LwW2RCP{LpdH*o#%wq zP@Y26^*p7&S>;8I3@U`wcg ztl?q_=s_OM|ocY`+FD3>OU?SornrmgIn`1JW4N?=$i?c{$(`)=fpGf+4q z?T9nrQG{`ilyUoV7!5`GX&yR6SfU&?r8Ar@qR&l?C_2uAR3p)-xaL-lGzVkl0AX=x z)YpY&HHGw7;SPtxM)qAy)hcXzrk_B^mUnp3P?mIf3H|j zs%9rAtI9XnSit!)cOPV$REBlgIdsno_Oh{Uzho;vThAkd&#X?;7UtOZRXr`VWZQSt z0!vMxN|D9trW-@%xE_?X1JL^Z&@<7?->bZrLg*Qp`oujxn^Tx9Xd%Ad z&N7IFv?n22R?^{ayX&8smyLZ%uZRW7rQxrw>zr{oUG^#5Q{lTw+9rvgJ}pxw_aLHA z2vON*CCq}y7#Bk^=2ESBvo36ULpZ!osd*G=XsN{`nXT}6BHD4;7LQA^RVR-I&lkKC zaP@l`;MR1wcO+u`8^7(uv<|j-uUb!vT^l`M`EHVux7(^Z%#c_u|?_~K>0GC zXPN%P)mFylj{wT~d=o+6 zD#Gh{i=mYxbaG#jT)CD`4$oS${Zo@F!WURcl+=CAwu_D(8rA63+y;;TCz~)=<$V3r zRF*F0vbP*w)iH(HvO0zlmdXO_|JBiI$0@OjMla%RhZ$TUlh2XtW2*@r z#bO^&lIyFvafWgC>bwAMl>MXm^gi2uk}+?kZwh8W=-ohI zyz*o(@h$@PHf@xV+klekP5Ru28}@kr2#;gc!&{Qf$c*+-@dU)$N!G4(GY0Syk4-7} z@mtLW>lc<#<-X}A5w%dM&=|j*N-l8T{6|W2m%sYJ_SCwBQ-3>#cZE70^P_^VZK61EF)xS(yvgb&XQ7_H7iWM}0Ab z$FG|(if^h08bJ#W_d^Z4tuj=Kz(9)(069mrtzS1D3LZ6!T3K*T+x7c^%u>sF)Uv`JC-+Y`H5Xz5P>}+ZW#Z(&VZQ zwpZ5E@oBvBF$oS)X<+acPng%i&spllIy|gC|1Gz)x6s$qHIM-+3bbs)%Y7ik6>4Vl|&uvy!%UU?)PB8dqR zI7L8~s!0c5YcYFiI>ydA>KDUuZKki^qNi@gq}602WLAK4*4jKqLu3|Uu&gP$43N* zwNClTumUa3wL6GM{1CM>v*9RAxx-ohq;cRv2}#hZu8W|o9Cf7rg9 zmiqv~OX6Jj=}9ryQybODLyDd|b!LN6wIhaGjG&u$x3kIg(@|kOu14jI1qOuCdL2?` z5l(8~``oz`Ww+p~_N|~P>`>HnKsh7HV7=K7!J=>)J;=;I!4mt7z&n&iQq8>*K!H`U zh(#k|oim6_ygmHK>P28D*(qW2ix4T>#l=iUM2^7SD$37kg#;L#0~M&fU^Nq9+0)F+tHC8*mBmglaKYhVAnoD3DNs|MLwFDl|V1cI#LkY<}f}&0` zOX&G}Y7Q^CZCXEeYXHcW)E|(tu^cL;khS->Mu?isEAQ7kGxv9-NZ9RAIR!+(=FFn? zoTBoo|B?==5y!FR9rc-2T+N)T6;f;nEzMpFp2<=nVFwT2 zkEaNS{0GnrviK-{`a`UD`(0$MQu6}@>3vFH$MqqEB`XVt!+*xrb0bu&`%7?wi_;4F z%ihK7P4cfSER&o~TE#ZmG&PTd@;%I;J9H^=M$#4USrx>GwZ?s}`A1yueYzCcMel8@ zQ$GZsTqT3h49l7h!4nNRHHQxZcqp(8FL^L487zq&W0uo~U+GVUAL6t>`RT2C4CL7v)sOTBtNqOp$^j&P%~th5TNmS#==^CQnzq_r*a7f- zK;C!I4WUWCuYY=?(W= zqLti{B-6&X=;RWu*t+y8#61(74afeOG74>wyF#cKEJ}Juzzxd5SbQvOm z2po9A&FkbjzA;GxALPd~S zf(FXDf^B;I z?MgoTx-r&`h=irRn)T^tf@ctBx`n5N4s_~$tU6&(00o0^d5RQ((u|kd#+tX*M~n4z zQ}`K+ij9LaixEWq*8-KU|D1<*KJw|6<<+hvg2|fhD4im+wnue;W5r{?=XqAvIE5{dCjq=S9*hXNyU-f1n~MPq zWy~kR4|m|jzRD-(!G7gbGz24+XBNYWS{rT6S~S`8RPy!+9#Cr)pCd(2wlixy^U#Bw zOVCQ|InOFrw}XZT^{H7RO}s2lFr7`v#BMFHY-x-&%~ubF;cVuLS=Y@wxy6b1V3#>R zTR7peh>^?yF&)-`m_m!0j&W}-lB^UG9!)>zr!|#oPx9Ul^rY_}{B@(? zv+!5Qhj#s-;TFI_OZHvu5HkNbcBL*3Zd4x$dX^JU1| zuE6D6b_rw*FqMjQ8I$Mvj*C;PGKeQW!%$q(et~|UV7$z3fA=2G1R=Y_j8nsL%Bk4QFM*82NX9HqOZ;acHKubPF1s-p zFOle)O(@nIcV97~nzhSkbqa1y`@@N@b0fj8zDwo-+TJSTpQpN+s{$!aR8sIe zzoIhOs6`wW#jC-z&NwShUW6x0qg~s80=>#x(<$OVX9HItMC_i=cf+$F!vOvZp4Y`3 zX=R(X8kqvF+OUJ#cpL|Os#yDz>z<(F4*t6?r^$q0! zLuwI{)Iz;?tIxQSd+H*>Jrt}$xwKd6NVQh0eLM1sA>|pSk#KAmcK;Cf; zmsr{OV)^&osxzLge(}Evq-JMctTPchV|QyKKN(sT{p9tIV=G^19Zyl&na@JGu`Vf@ zK5?Rv>D^O19J2~=75oD5H?@2Q&Je5m=#uW=*+1>OmPq&ISwaDL|9W;&zyQWJO>U2; zwAXH4!;Dv~^L-Mbi;jKfz+`m>n^}AD>Q$A3uW=w-OwQ>yAu$0mv)`^VpXo1cu0J)3 zY;U;6kiH4tugTnq7mlI1uS%|}dS*rHPhPZT+z=~Ydxttw=HSnj*fJ5!=<;WzOYOZ@0{78ZeDY@v*;a^8**&7+l<+0NIK1-;i*m^ro?O{3~_-X_}h+_BNb# z8Aqpz=Xnte%A}xR(w8mQj_-Nl4sAap+^pW|*b4kv$(>`?Bn<6RSlX^IUvWUP;LHC5 zq_UQDWKFmjGhOaZ=zYm4Mc>D#KGd#ZROAlplYCfWgo%^Uu{UsXH>)UIl~!8@ni3(0 zhacV>8w$>fKYKsn27RFhlRFIyvB1VSQ;Xy_2;Qw+eMNDpL2;lMx(w5{F3{nAX8AC1 zYLe{W3_-p?9Nnyw=;-yRdprar21PV4X54vEw!4+wnUg@txu}DZg^^4_5g|$s#zAb= zL_XjA2T7Iq-p7R&veH8Wm)m9om69?vbWu*yMP7cYt`_N0ijL!)Nh`J0bEZi{Hg)o^ zF|dr;c@H)Byb>*6LvIXo!q2KyDgB;us?1r|Ik*jLYhdX zK9IJ;JuUAEBYH(exu(?`8!oG_`usK+&~JVTim$c`_c1RPnK_YNg^95El;nn z+#i#Rcxza8?yEe}S-xHoUc29go#tUD>I2%4PlljZrhjKi6!cddw zF9aUtX8WNvqryf$9Tl4c?eGXCUIRuLRH$+y_v_Taxsg^sD_-3d4dO2jUL8(ZpiE@m z3GflYSxix9M%FWaNEpfTlJDY%D?-0@Mf}uFHJdDdxKUt1K9iEbTteDk>eIeRjegs8 zwqcvPgsOP_8x=)0DE6z6w5(>LbC%nCb$)*>R$PijTpFzU&wR<%&bM|ncfYf)=QqXs zg=e_Fg02IacLmxe*J3SzZKLm9AIP8EY395aOnZUrKJ|?gnvo%ujz7m#if9~dxvIM( z6=HliE^7hpU4_A&a0;C$kk6Gzu6mQ=n_s1J;@zPob%=d*#8pR~;e8})A(7oruqZ{- zj2=;lw9PM=s@-tCw5!)5gHtku+C?$MF>MnaQ_+X z);uDQ@?s56dxFY-O`{rLY?bKK%Kvi3o>OFXvc#-Z1h+v6su_;Kw-Rs%S00fRjRzmT z$(+(EPa|GzZzgG!xly9Ly9(%{3OrTMKI^JS$cpO#if)u@403+6?An-;YAnEvsmPpQ z5=(G+2qJwfcP`Pq(LXFJcdqbREJ)#=bKU;wgRmQsezrK~hIUm&r+OrjRXeC`QDgbd zm>L_;-i|T?V+RDdz?@}uBC5cUcAB@-Rx)Jnq&T`g>eHaZZ=Yu&!mqbnrSVTsDqY0O z5N~&kVTSRYZ5AhfUYsRqKd-BP}BpWH4rx!Hq(xZ zeKTJ*Mm85Sf7#m(az3kbQ@eF=_QZ$_qt8yj_XlJf|f&SXwZr+aa5C$C>G zi-pu{paL*;sdF)?a^MoQ&g&p}e>MPDoO57+Y0ulQt#j z3a@UfsPGo`bU~J(4*@t^{_D%&#IaqI*;K`bAOk(xACH0f#EzCR^MpHxaeHGCCULZu^+aCaMEU_7|i>FBEyq zAir?Tr{!f(!$J@&`!mZ^5Y@ttV)0cTa|N;sX`uRidlw;F)QCK>gq%>@)F_4OrEs zZ4mOf24w=cbYS2Pmr}q}%hbTE#btRE7!5zbE|U-e8Y|K{i_`O&Gx zWQ_lOK&CsS_tUg?`i{cDm!Hdu*`jDuYrw8!?RR!1l zQp?T>zkcNEm5hE5G|SuNZ@h$69E=SPJvX@p&E#1dtZdW8S)0eADQC}#Nj$0VBG|G3 z^3T#XvgMH-{bU$8j#-B9o!ICUe@8yt)a$k#?>=7QwT-R}x7~hC4QI+sWH^An2&A-V z9YG<$-3=XXEg-yT^@~M*d#AvoDJg3C(XVZUL@VI4ow&)qg)vcf|#NV1B4*dMC zCa^<(Id2(AcoIyR5X>O%t6G@N?wLe-Yc`1t4q_Ip9BZ$M=a_ZNR_#7(ClZoDc%5)v zG1A~Y6jh|6Sl^rBmInuIk!?M4_)42EIgARA&n!M_m`NI{Gu|2}4M4|X;Gzcibxg?0 zl41OL!iB0$2s?!LhU&#RKG9T3lyb=&m;6ZI1QKh?8unxMbOFuS3^7iW#|g&xdc9%#Wh5W!528@chQ8MaHS6=jy?AFmu5SN80>c^c~pHe`9_YU^c=>>r-iX&;CwtEedz? zY9y`Vb8d2Ic#ei&DOZ#Q`jT^8BUKioEKEfVG~ysdBISY zZ&dF88Z#{H{4qz+Y9;64epBxyw=S2wr@B^dG;tW?$sdR@G?$SnRRy$NCI?{9>}Vev zSJjNiqxq(Mrf?hQ-Uyy4HFj}|E`rSipiX4#LK~|AqN=$j7@$0OI|}OwF3+Y?c>6si zZ^o1=x;_87Yyh_Tz|2pr?Yj5h&pI(ajeo~xuJ!^n@Nk*i|D1j9P#RKm9&IdgDDoGp z&wwoC_uk#{IH<1s;k}k;BJ_%f$VP_FJ$#?+x;&4)9yvLs2W@UJI|_LGj;}B=Ydps6 z%YjC;y;~o+V#eC)hR+<~!YuKB&&);ybJooq-{~w^@(9_gE1vQi-}QdZM`fwx@iWWI zf{i#Xf3=^n7dDX`pGPWM2SeZTzEIbmLMN=NV(bw#$^rvc}{7}<9NaLVmY%vj2@kWGaHeYO8%enA?K zVs|IKea_??%v$ohdym*$sx)N=OIc}g-T|h8nWcxN7agVdQAYea=X0%}20O1>#G|Be z$s>Km^H)_}x*YLJ1QaW+|Ep(;Z4`JVIkv7+ z@HWXl8Z5gozJe^ji&1Zdfm)!uq@VKWA-VLnx*_@2n%#oQ1 zC{d3&iZxNGU90nG{2;+U+p)d&rnxuMx~I43_zmtfh*z7-CCUed`QO~$@2~O=sZ;*QWlWrE+J-^`sxz2gS z{0Pk5f{9pQO@;JdyX`UF#;%e5^B85Mei%5ZDZVMm>P4;`nM}TQEn_ufQs`7)TB5c1CQ>3n!vib(P%29Q+9jf?S zO}Xyu)h8N?*T*&G5d7V<(4k81KCYVT%orBiM{<1kG%Y$L>+**gkOW|g`j)FzrZrKH zwz@#z)n*M!NLUh?>E&AxD*739D`B?Ki|SYL?2qAfLiNt?D)+CSV5JWC)lTg~Luy1Z z8;q*kI19ZUn-*(Tp}LLmxVxqqJ!Z|-E&*my%#b7)akqiw1eDC-bbef8;jyE&^S#j@ z1CgOph+tpuP-HYeRL`8eay~vCbmlN};9x+~-M$qi_%D?vS zb!9J+W*rc-Mfy|nTm7%_lVStdQW5GpQp!UAx>r>+41w(*P8k`L{;=yrC%emO|p9LSb z_5!pst_4(XbBSj5l&z~0Ss@)hPa-_3oYAF@Y~gISl%uf#s)5=+UN5rMJ=ZKj{Ito!63>Kl+=>jPRPFWhi%toL!|gkI3~{t>1qFc+-Iv#QfwhW}xJ&S^ zOttRV+wp1EX^GGh1UH<%XeGE#M;t&(+1}$!+zgT?e#ap|`Erp*dS@m@*-mD+I+nzc zWnA<6k9kAKd060PT3b4r!FbKqG@(MTx-kA*-%jty<=Tr>?pRVPFntHgl%@G)!^gC_ zzh7hrUdL!HC?h%KFL^!8>~lEBnX*|8|JF*Jt*M}4pj;PW$?vkPS$~J zSss~ee((@@nHzR`>U-QKLpG6VR05H&PG;Qie!PboGFtAMse2|fr6qH@Gfp!+P?6wb zZ3|u9vJhGHS28bme3Qb=@Zkf0&)Ukgp)rT*h}R{hBf`!WM?7;7d(uzD7l%A5#I8ow zIuOIQ0kN0ow|#>GF;2{aFus8K2}Sd#S&P)uZj#*d0oQ)ae& zLJSnhX$Sm`Ao$E+)mdcr>*}t}V*Y-YT{Pu=^I1O%Kst|}V&Hn(CkYh69o7j}C`izG zO~YiW=HOHcbejJGR74#WXjSvD7U^eZdR-qclPm8?bmOjqD@(<3U^9Jgpg2s8p zdUed!3THNajdiBtRp^GrM~@blei#YYxwAK_%X8ZLJoID#>IvsIh?I~O1g?e z>E9_9zdZfxIZw{T_NX;Pe3(>RsrA{oyyPr;iP(ie#h#b84G40np8PYDqLl_pu$cby zq;4YaDkG(YU;k?_Qb=jBFwnNl){^}Wza+5~-ckoB`2`3Ysq6$ul40!2$>Bf9+1cCo zNltBU$lm3b3u=8L?ChXEV@At`$Tg9WOdr7FGC&tIeDzwJD~+^|6>Fjw7C=!(?~>`) zC=`e755J87Y~_p0x_M>PXxi0@$Bd`Dx?~2H1!~GN?JYeZa|jJ! z58ctRVCyT@x35v8^oh-AConHwY+2&=ZDMo4){LlbDX|0hGe<=39@U67$|ThL&G5%K z!2{&yFD_xDK$}dk!3oA`Nql&};vZkUUXVzK>hi7Q3-DiEQB}^SCE|h^AWr~=j$`G^ z#Y^BBBpCM;N`O_*)61an3%iC=M&Cnf1pQ69tF2Vx#%Hc?is`+&O5Zs^zlqX6oTMd(@yUfTrDpqSX;Ga$1pp+6iq#${Td#jj97Sto5EL1X2J z=_dD36zX2QeX~{;(;z6Yj~`_C?J?+|pcLw^GgzHAe4iSm7<-zGV3>$Wf+-7DzhOAs zauv}kEaMFN%l2ih@;?CGF~B2KxxjTaAlQUNE`U~8Vp^w3=iRV?RGA6G7@GG1D~crY z_mevFVXYZD8f#~^w36HMIir_hJZtpe{AT)SU@+Me7R^IhBSod(I#Cum{{gb-O744? zkOytVL3EXw-hweU3^YF4kW1o@GR4rC;2TttEu8$gqJ4UdQ<}9qzI~b%Bcp6`O_ophZh6AVci5;-LaKqt8d`Zt)M=|Ainc!B~wVmJ-fsuKm}^--fiDX z<(w-eFh)W4_|;(kKyDS!E2$r<@?;(arOwx?!HsPG>vm6@8fV28ww3-A=yEVUc`%B8 zHybZs1C;MkZM#e&l%%!&Z~_(2^rmw9THaA$6Ct|Tr-_Rn_C#ooBDYMPGDe3zk<9ey zO%ol6aa?sfH8`)BwJf0i4!VcF$0Uk1L>M}H%Z0g~(3p0oV?Uh7`ku=+Ke{B{@Vt=I za)6NT1UDwuTkJS^-7EAiM0rO1Zz-VO82Y zG7+MBN*LTw6&npUrfH0l8Eh_t`u)TmbmFC>3S&4M?cUweVa5*i;i8n}Hr`rLrLIBr z4DeR(BGy)Cl!NlGl}b0V(pirnKJ~)(oHs{&+dT(Tu1Xo{jB3BHpdM`8TlTd&Sj*96OFxT>QASFu?a|f% zo-TNvmgpy!rYGG5(EJtFWRZv8;hpr**M(TwS>vWaZnGs($3M5a zU^W-RRo@R^X_}uUSeM+`5yA;r6c{RWY=YaavvwbFH7&E!p{@4DhiMpiJLW7 zBcI&iaVYN#aZ3>%l|#L$=uJa!6E!GZ#i^4b$#qXNtDFZJgTm|kM86k>O_a?5BV8?O zpMhu1nChD_9_{Y-L<-X~`4=dCY7j^^5J^$)X%DLw^b# zAA$V%3Tndca_Q0a5fwJQS&y?GY2&Thh!OO$Y_9zn*@$t+qS(OZ`)+3Pa7PzF z$Ei6o<>d4LR%z>T-A8B|}P{J2-jF%vh)l#rZ{C zn+qZJS?!E&6!pH%p@K`%`DI@rtWgV`7m-b0A@?FUJUPDOH2HCmZA>;%CXh!>{zIaw znkoMN`@Kh0>NQ%bv^kVWSDJgNin|EKEjqsP z<`HduR=~Ia^Qva$LYNMuZDSeo3bb+YqP=K(crD9@_EYq(9%~UxbA{9wa)cn{Ry`MD z{vvo?)GA8oX-(=n5gUx=@_gE%MYC6TS5TDm#riRU#KYY(!S>A)8V`Dw2%H@}gI&{s zIP?woUK`OmwZ#m0;gk|vpiJnOhEI#6gW$Ghkq89BHow*P^Nfr@!f2t3Bl@@kjWpd_ zTY)aJRB|74J#u$$8JV-Rfn=?luDdUE+lH+e!-rCYcNk4It~8}_4tS&VQqZ3-fSWC+ zTbKUbY+$nV)cisSbWXAeb*#KNFXdF@Y+V10oG=u1bO6xmxN_I66DvXJ5D6Ye zv2rN`lhgX^sl|Mj)nBV*k(RlS;u!SYNDLJ*20!`CyMr_Sf9am^UG-d4ZiD3FjM6@z zy15B``@V_|I(V#FWuX*2XN1kk)X_Z)eBX`<$B$P@QxVNoKN-bcyexiR4)1pCqNXPS zNM!0@&BpI4QVmr(0Po6^rLbphAab?qH(k{;5`2CQ#QjZ;@`R=faPF_Soup{MEHdMA zf}w3Ob??{IjuuCx`HYX;gYVu!9yIOB9i`=kT#0>I1%^7->9tR9FP^gZeO!jsJ%x|g zUP2$v-nM!$rBc@Lpia!vxV^Rf2e+5#vYwf0|6*~YXZUx-3>;aZR} zHO-u>4SNC-=fwR3j_Wb7>8m8qm2hbY1dzA3zexIc+Em=(f%U7Ag>`$9#gq^{2AcgG z(-wsTQiS{~X;!Z)=t!xw9}+J8jl1^cTuO!~?dcVBfr`RpJ?<95+pVGdxZ)cQ5K=Mg z=%)%(P^6Gu_M0xfj}x}I8d40`f&^4~B|z7>(AxeN`Z(K-rC_U3tb_!bYI&V^wxj$#y`C20cTpIt4=JBaD&{sCXp(bhVzw>zN$h^V z4q0w24KhITs|ZMewwY=s-MK)ufw=Jcd1BgDaUw<@wY03K38u!KcC!$7Yh$RtZ)xM9 zBpB8D^=z#y>J;4bub4MIm2?;H&80<4i~>im?yn+ihnSZ4-uKWA50A%;tf5Kag;dP+ z)CrlHj@Ar7(2oxv5z3}W)3TYWHzTpy zPN!AVOL*~0M$J1qBCjAA6rQhT7gqlOb0gX>e%{_Xgt|m=9atK=6i&=NX)93WRI;gJ z-@AQ4?|v(Jr~*XvLF4hON_JCBwqV9WbRdm;3vz%GKv0Tw5(YTaUzkImF~GNGI*+4H z7@@6LVn-jBm1#>)VL-+g1)1a1RvJ%zp+_v2_n z!NdZ19h~~r=5U-Tnzb2HQxUfBZTtI2$A)$ZO4as}TS|ez;5q1|^qcgWPq$;+xj!G- z#i=SQ(vi1po{gPVq^>YXiiYguAzLc=0e0?f#Y_I^PStSWBD7mdCuua_HQM(lTl>Dt ze`)5z*B&7N{A#6mPqv$6LRC+e3!fW%dw1fyeWcC&kqB8@~F8&oPbHguB@a1fZ5YZI%t<>;+MXJ zE|())_WOhFku>C|YP6!r zZgeBwH}>0(I9z+C2N|ajK?b4K)rL}rFiL=T+ymdhA09Aqa2#jdRZfxBO){7Z-AFC1 z!8|l9l?+ZJX5YfSwNNk=+Rbg?`?fa(dk2PtmqRN-7|eX>tz?dh;~a__=ysJFE&e}M zxUp92Dd8PIF1maa@vP=p%MDuKTv*(j`*h-TmBx}Jc}6tK#2FlFL5pf!OYabTKD~TC zj(M;Nh}m8a9yG@(FiJ|XXxtDrHU|Fy9xQ`9KtB)0YOX4A<5)t**J8v1ZUOs5+uO>t z7qUT~eJe@|IPs}b)Im!TFA)zQCe{Q1G#c@+hYN-d&u2Y#QHYbaX}C=khjP1(Nn8HE z9y+BcVE_}xpYHgLwK66~_w__V4bGfQwJjne0o5N0&;Sx+8tP&Td$K7~Kr3_O^zmC> zA{B%mZ_1oQhiq3hg^L0Jl(5x_(&J0qYs)&5J}fc!dDH59!z6lCzvZk^W>7RD;^YlG zeH>}Ul^p<0GD!w%RB?p606nGeWAyuYo%@uOV6J?&Q^g<&GgvAh-p0zY+QkUa+uLwC zt7HI=4n1^}Qb~mHrsG9z#1*)`!51fA1I0;Kgvo>F_~A{2sarkfoT-p5<#BL>wd{Sm z0mhcu1QR}IXQn>bts$_Z6He6h=n9i%u(`gV6U2qHGbhrTI2hrwpQ$P%+^$@Jr0e5; zS!g4K`;V1XY{tQjI(*}Mppf0XMx<-w#4agoSsXmJQ&@qrMNCQj$eZ83!C((=Ri?rS zPSfXBaahGYVRgv_>2I^A!~x^?@#h%;>OK?B+D@sO9diAAb3mjW!~>x{w6|_;E;ob$ jsGYniDx1d|SVcPQ1Py#&2Pp}S<@ diff --git a/examples/basic/datatypeconversion.html b/examples/basic/datatypeconversion.html deleted file mode 100644 index 1051045c9..000000000 --- a/examples/basic/datatypeconversion.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - -

Processing.js

-

DatatypeConversion

- -

It is sometimes beneficial to convert a value from one type of -data to another. Each of the conversion functions converts its parameter -to an equivalent representation within its datatype. -The conversion functions include int(), float(), char(), byte(), and others.

- -

Original Processing.org Example: DatatypeConversion
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(51);
-noStroke();
-
-char c;    // Chars are used for storing typographic symbols
-float f;   // Floats are decimal numbers
-int i;     // Ints are values between 2,147,483,647 and -2147483648
-byte b;    // Bytes are values between -128 and 128
-
-c = 'A';
-f = float(c);     // Sets f = 65.0
-i = int(f * 1.4); // Sets i to 91
-b = byte(c / 2);  // Sets b to 32
-
-rect(f, 0, 40, 66);
-fill(204);
-rect(i, 67, 40, 66);
-fill(255);
-rect(b, 134, 40, 66);
- - diff --git a/examples/basic/displaying.html b/examples/basic/displaying.html deleted file mode 100644 index 935b1aabf..000000000 --- a/examples/basic/displaying.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - -

Processing.js

-

Displaying

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. - F1LT3R

- -

Images can be displayed to the screen at their actual size -or any other size.

- -

Original Processing.org Example: Displaying
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-/* @pjs preload="data/jelly.jpg"; */
-
-size(200, 200);
-PImage a;  // Declare variable "a" of type PImage
-a = loadImage("data/jelly.jpg");  // Load the images into the program
-image(a, 0, 0); // Displays the image from point (0,0) when image data has been loaded
-image(a, width/2, 0, a.width/2, a.height/2);
-
- - diff --git a/examples/basic/distance1d.html b/examples/basic/distance1d.html deleted file mode 100644 index 59b8270ce..000000000 --- a/examples/basic/distance1d.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - -

Processing.js

-

Distance1D

- -

Move the mouse left and right to control the speed and direction of the moving shapes.

- -

Original Processing.org Example: Distance1D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int thin = 8;
-int thick = 36;
-float xpos1 = 134.0;
-float xpos2 = 44.0;
-float xpos3 = 58.0;
-float xpos4 = 120.0;
-
-void setup() 
-{
-  size(200, 200);
-  noStroke();
-  frameRate(60);
-}
-
-void draw() 
-{
-  background(0);
-  
-  float mx = mouseX * 0.4 - width/5.0;
-  
-  fill(102);
-  rect(xpos2, 0, thick, height/2);
-  fill(204);
-  rect(xpos1, 0, thin, height/2);
-  fill(102);
-  rect(xpos4, height/2, thick, height/2);
-  fill(204);
-  rect(xpos3, height/2, thin, height/2);
-	
-  xpos1 += mx/16;
-  xpos2 += mx/64;
-  xpos3 -= mx/16;
-  xpos4 -= mx/64;
-  
-  if(xpos1 < -thin)  { xpos1 =  width; }
-  if(xpos1 >  width) { xpos1 = -thin; }
-  if(xpos2 < -thick) { xpos2 =  width; }
-  if(xpos2 >  width) { xpos2 = -thick; }
-  if(xpos3 < -thin)  { xpos3 =  width; }
-  if(xpos3 >  width) { xpos3 = -thin; }
-  if(xpos4 < -thick) { xpos4 =  width; }
-  if(xpos4 >  width) { xpos4 = -thick; }
-}
- - diff --git a/examples/basic/distance2d.html b/examples/basic/distance2d.html deleted file mode 100644 index d16e8b5b7..000000000 --- a/examples/basic/distance2d.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - -

Processing.js

-

Distance2D

- -

Move the mouse across the image to obscure and reveal the matrix. -Measures the distance from the mouse to each square and sets the -size proportionally.

- -

Original Processing.org Example: Distance2D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float max_distance;
-
-void setup() {
-  size(200, 200); 
-  smooth();
-  noStroke();
-  max_distance = dist(0, 0, width, height);
-}
-
-void draw() 
-{
-  background(51);
-
-  for(int i = 0; i <= width; i += 20) {
-    for(int j = 0; j <= width; j += 20) {
-      float size = dist(mouseX, mouseY, i, j);
-      size = size/max_distance * 66;
-      ellipse(i, j, size, size);
-    }
-  }
-}
- - diff --git a/examples/basic/doublerandom.html b/examples/basic/doublerandom.html deleted file mode 100644 index a78259cf5..000000000 --- a/examples/basic/doublerandom.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - -

Processing.js

-

DoubleRandom

- -

by Ira Greenberg. - -Using 2 random() calls the and point() function -to create an irregular sawtooth line.

- -

Original Processing.org Example: DoubleRandom
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-int totalPts = 300;
-float steps = totalPts+1;
-stroke(255);
-float rand = 0;
-
-for  (int i=1; i< steps; i++){
-  point( (width/steps) * i, (height/2) + random(-rand, rand) );
-  rand += random(-5, 5);
-}
- - diff --git a/examples/basic/easing.html b/examples/basic/easing.html deleted file mode 100644 index ce1d33e50..000000000 --- a/examples/basic/easing.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -

Processing.js

-

Easing

- -

Move the mouse across the screen and the symbol will follow. -Between drawing each frame of the animation, the program -calculates the difference between the position of the -symbol and the cursor. If the distance is larger than -1 pixel, the symbol moves half of the distance from its -current position toward the cursor.

- -

Original Processing.org Example: Easing
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float x;
-float y;
-float targetX, targetY;
-float easing = 0.05;
-
-void setup() 
-{
-  size(200, 200); 
-  smooth();
-  noStroke();  
-}
-
-void draw() 
-{ 
-  background( 51 );
-  
-  targetX = mouseX;
-  float dx = mouseX - x;
-  if(abs(dx) > 1) {
-    x += dx * easing;
-  }
-  
-  targetY = mouseY;
-  float dy = mouseY - y;
-  if(abs(dy) > 1) {
-    y += dy * easing;
-  }
-  
-  ellipse(x, y, 33, 33);
-}
- - diff --git a/examples/basic/embeddediteration.html b/examples/basic/embeddediteration.html deleted file mode 100644 index cfd2474ee..000000000 --- a/examples/basic/embeddediteration.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - -

Processing.js

-

EmbeddedIteration

- -

Embedding "for" structures allows repetition in two dimensions.

- -

Original Processing.org Example: EmbeddedIteration
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float box_size = 11; 
-float box_space = 12; 
-int margin = 7; 
- 
-size(200, 200); 
-background(0); 
-noStroke(); 
- 
-// Draw gray boxes 
- 
-for(int i = margin; i < width-margin; i += box_space) { 
-  for(int j = margin; j < height-margin; j += box_space) { 
-    fill(255 - box_size*10); 
-    rect(j, i, box_size, box_size); 
-  } 
-  box_size = box_size - 0.6; 
-}
- - diff --git a/examples/basic/embeddedlinks.html b/examples/basic/embeddedlinks.html deleted file mode 100644 index 0f196f5bb..000000000 --- a/examples/basic/embeddedlinks.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - -

Processing.js

-

EmbeddedLinks

- -

Click on the left button to open a different URL in the same window (Only -works online). Click on the right button to open a URL in a new browser window. - -Created 21 June 2003.

- -

Original Processing.org Example: EmbeddedLinks
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-boolean overLeftButton = false;
-boolean overRightButton = false;
-
-void setup()
-{
-  size(200, 200);
-}
-
-void draw()
-{
-  background(204);
-  
-  // Left buttom
-  if(overLeftButton == true) {
-    fill(255);
-  } else {
-    noFill();
-  }
-  rect(20, 60, 75, 75);
-  rect(50, 90, 15, 15);
-  
-  // Right button
-  if(overRightButton == true) {
-    fill(255);
-  } else {
-    noFill();
-  }
-  rect(105, 60, 75, 75);
-  line(135, 105, 155, 85);
-  line(140, 85, 155, 85);
-  line(155, 85, 155, 100);
-}
-
-void mousePressed() 
-{
-  if(overLeftButton) { 
-    link("http://www.processing.org");
-  } else if (overRightButton) {
-    link("http://www.processing.org", "_new");
-  }
-}
-
-void mouseMoved() { 
-  checkButtons(); 
-}
-  
-void mouseDragged() {
-  checkButtons(); 
-}
-
-void checkButtons() {
-  if(mouseX > 20 && mouseX < 95 &&
-     mouseY > 60 && mouseY <135) {
-    overLeftButton = true;   
-  }  else if (mouseX > 105 && mouseX < 180 &&
-     mouseY > 60 && mouseY <135) {
-    overRightButton = true; 
-  } else {
-    overLeftButton = overRightButton = false;
-  }
-
-}
- - diff --git a/examples/basic/functions.html b/examples/basic/functions.html deleted file mode 100644 index 57867fc91..000000000 --- a/examples/basic/functions.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -

Processing.js

-

Functions

- -

The draw_target() function makes it easy to draw many distinct targets. -Each call to draw_target() specifies the position, size, and number of -rings for each target.

- -

Original Processing.org Example: Functions
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() 
-{
-  size(200, 200);
-  background(51);
-  noStroke();
-  smooth();
-  noLoop();
-}
-
-void draw() 
-{
-  draw_target(68, 34, 200, 10);
-  draw_target(152, 16, 100, 3);
-  draw_target(100, 144, 80, 5);
-}
-
-void draw_target(int xloc, int yloc, int size, int num) 
-{
-  float grayvalues = 255/num;
-  float steps = size/num;
-  for(int i=0; i<num; i++) {
-    fill(i*grayvalues);
-    ellipse(xloc, yloc, size-i*steps, size-i*steps);
-  }
-}
- - diff --git a/examples/basic/graphing2dequation.html b/examples/basic/graphing2dequation.html deleted file mode 100644 index a48d79653..000000000 --- a/examples/basic/graphing2dequation.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -

Processing.js

- -

There is a known bug in this example on some versions of Firefox: https://processing-js.lighthouseapp.com/projects/41284/tickets/240-graphing2dequation-fails-in-firefox#ticket-240-1

- -

Graphing2DEquation

- -

by Daniel Shiffman. - -Graphics the following equation: -sin(n*cos(r) + 5*theta) -where n is a function of horizontal mouse location.

- -

Original Processing.org Example: Graphing2DEquation
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() {
-  size(200,200);
-  frameRate(30);
-}
-
-void draw() {
-  loadPixels();
-  float n = (mouseX * 10.0) / width;
-  float w = 16.0;         // 2D space width
-  float h = 16.0;         // 2D space height
-  float dx = w / width;    // Increment x this amount per pixel
-  float dy = h / height;   // Increment y this amount per pixel
-  float x = -w/2;          // Start x at -1 * width / 2
-  for (int i = 0; i < width; i++) {
-    float y = -h/2;        // Start y at -1 * height / 2
-    for (int j = 0; j < height; j++) {
-      float r = sqrt((x*x) + (y*y));    // Convert cartesian to polar
-      float theta = atan2(y,x);         // Convert cartesian to polar
-      // Compute 2D polar coordinate function
-      float val = sin(n*cos(r) + 5 * theta);           // Results in a value between -1 and 1
-      //float val = cos(r);                            // Another simple function
-      //float val = sin(theta);                        // Another simple function
-      // Map resulting vale to grayscale value
-      pixels[i+j*width] = color((val + 1.0) * 255.0/2.0);     // Scale to between 0 and 255
-      y += dy;                // Increment y
-    }
-    x += dx;                  // Increment x
-  }
-  updatePixels();
-}
- - diff --git a/examples/basic/hue.html b/examples/basic/hue.html deleted file mode 100644 index ef3fec80a..000000000 --- a/examples/basic/hue.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -

Processing.js

-

Hue

- -

Hue is the color reflected from or transmitted through an object -and is typically referred to as the name of the color (red, blue, yellow, etc.) -Move the cursor vertically over each bar to alter its hue.

- -

Original Processing.org Example: Hue
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int barWidth = 5;
-int[] hue;
-
-void setup() 
-{
-  size(400, 400);
-  colorMode(HSB, 360, height, height);  
-  hue = new int[width/barWidth];
-  noStroke();
-}
-
-void draw() 
-{
-  int j = 0;
-  for (int i=0; i<=(width-barWidth); i+=barWidth) {  
-    if ((mouseX > i) && (mouseX < i+barWidth)) {
-      hue[j] = mouseY;
-    }
-    fill(hue[j], height/1.2, height/1.2);
-    rect(i, 0, barWidth, height);  
-    j++;
-  }
-}
- - diff --git a/examples/basic/incrementdecrement.html b/examples/basic/incrementdecrement.html deleted file mode 100644 index 28a2eaa27..000000000 --- a/examples/basic/incrementdecrement.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -

Processing.js

-

IncrementDecrement

- -

Writing "a++" is equivalent to "a = a + 1". -Writing "a--" is equivalent to "a = a - 1".

- -

Original Processing.org Example: IncrementDecrement
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int a;
-int b;
-boolean direction;
-
-void setup()
-{
-  size(200, 200);
-  colorMode(RGB, width);
-  a = 0;
-  b = width;
-  direction = true;
-  frameRate(30);
-}
-
-void draw()
-{
-  a++;
-  if(a > width) {
-    a = 0;
-    direction = !direction;
-  }
-  if(direction == true){
-    stroke(a);
-  } else {
-    stroke(width-a);
-  }
-  line(a, 0, a, height/2);
-
-  b--;
-  if(b < 0) {
-    b = width;
-  }
-  if(direction == true) {
-    stroke(width-b);
-  } else {
-    stroke(b);
-  }
-  line(b, height/2+1, b, height);
-}
- - diff --git a/examples/basic/index.html b/examples/basic/index.html deleted file mode 100644 index 5c4001274..000000000 --- a/examples/basic/index.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -

Processing.js

-

Basic Demos

- -

Basic demonstrations of how Processing works, from the Processing.org web site. All of the following demos were written by Casey Reas and Ben Fry unless otherwise stated.

- -

Processing.org Basic Demos

- - - - diff --git a/examples/basic/inheritance.html b/examples/basic/inheritance.html deleted file mode 100644 index a6f56915c..000000000 --- a/examples/basic/inheritance.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -

Processing.js

-

Inheritance

- -

A class can be defined using another class as a foundation. In object-oriented -programming terminology, one class can inherit fi elds and methods from another. -An object that inherits from another is called a subclass, and the object it -inherits from is called a superclass. A subclass extends the superclass.

- -

Original Processing.org Example: Inheritance
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-SpinSpots spots;
-SpinArm arm;
-
-void setup() 
-{
-  size(200, 200);
-  smooth();
-  arm = new SpinArm(width/2, height/2, 0.01);
-  spots = new SpinSpots(width/2, height/2, -0.02, 33.0);
-}
-
-void draw() 
-{
-  background(204);
-  arm.update();
-  arm.display();
-  spots.update();
-  spots.display();
-}
-
-class Spin 
-{
-  float x, y, speed;
-  float angle = 0.0;
-  Spin(float xpos, float ypos, float s) {
-    x = xpos;
-    y = ypos;
-    speed = s;
-  }
-  void update() {
-    angle += speed;
-  }
-}
-
-class SpinArm extends Spin 
-{
-  SpinArm(float x, float y, float s) {
-    super(x, y, s);
-  }
-  void display() {
-    strokeWeight(1);
-    stroke(0);
-    pushMatrix();
-    translate(x, y);
-    angle += speed;
-    rotate(angle);
-    line(0, 0, 66, 0);
-    popMatrix();
-  }
-}
-
-class SpinSpots extends Spin 
-{
-  float dim;
-  SpinSpots(float x, float y, float s, float d) {
-    super(x, y, s);
-    dim = d;
-  }
-  void display() {
-    noStroke();
-    pushMatrix();
-    translate(x, y);
-    angle += speed;
-    rotate(angle);
-    ellipse(-dim/2, 0, dim, dim);
-    ellipse(dim/2, 0, dim, dim);
-    popMatrix();
-  }
-}
- - diff --git a/examples/basic/integersfloats.html b/examples/basic/integersfloats.html deleted file mode 100644 index 9f1c45e64..000000000 --- a/examples/basic/integersfloats.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -

Processing.js

-

IntegersFloats

- -

Integers and floats are two different kinds of numerical data. -An integer (more commonly called an int) is a number without -a decimal point. A float is a floating-point number, which means -it is a number that has a decimal place. Floats are used when -more precision is needed.

- -

Original Processing.org Example: IntegersFloats
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int a = 0;      // Create a variable "a" of the datatype "int"
-float b = 0.0;  // Create a variable "b" of the datatype "float"
-
-void setup()
-{
-  size(200, 200);
-  stroke(255);
-  frameRate(30);
-}
-
-void draw()
-{
-  background(51);
-  
-  a = a + 1;
-  b = b + 0.2; 
-  line(a, 0, a, height/2);
-  line(b, height/2, b, height);
-  
-  if(a > width) {
-    a = 0;
-  }
-  if(b > width) {
-    b = 0;
-  }
-}
- - diff --git a/examples/basic/iteration.html b/examples/basic/iteration.html deleted file mode 100644 index 51ea28c13..000000000 --- a/examples/basic/iteration.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -

Processing.js

-

Iteration

- -

Iteration with a "for" structure constructs repetitive forms.

- -

Original Processing.org Example: Iteration
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int k;
-int xpos1 = 100; 
-int xpos2 = 118; 
-int count = 0; 
-int timey = 0;
-int num = 12;
-
-size(200, 200);
-background(102);
-noStroke();
- 
-// Draw gray bars 
-fill(255);
-k=60;
-for(int i=0; i < num/3; i++) {
-  rect(25, k, 155, 5);
-  k+=10;
-}
-
-// Black bars
-fill(51);
-k = 40;
-for(int i=0; i < num; i++) {
-  rect(105, k, 30, 5);
-  k += 10;
-}
-k = 15;
-for(int i = 0; i < num; i++) {
-  rect(125, k, 30, 5);
-  k +=10;
-}
-  
-// Thin lines
-k = 42;
-fill(0);
-for(int i=0; i < num-1; i++) {
-  rect(36, k, 20, 1);
-  k+=10;
-}
- - diff --git a/examples/basic/keyboard.html b/examples/basic/keyboard.html deleted file mode 100644 index 2efeeec3f..000000000 --- a/examples/basic/keyboard.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -

Processing.js

-

Keyboard

- -

Click on the image to give it focus and press the letter keys -to create forms in time and space. Each key has a unique identifying -number called it's ASCII value. These numbers can be used to position -shapes in space.

- -

Original Processing.org Example: Keyboard
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int numChars = 26;
-color[] colors = new color[numChars];
-int keyIndex;
-float keyScale;
-int rectWidth;
-
-    
-void setup()
-{
-  size(200, 200);
-  noStroke();
-  background(0);
-  keyScale = 200/numChars-1.0;
-  rectWidth = width/4;
-}
-
-void draw()
-{ 
-  if(keyPressed) {
-    if(key >= 'A' && key <= 'z') {
-      if(key <= 'Z') {
-        keyIndex = key-'A';
-      } else {
-        keyIndex = key-'a';
-      }
-      fill(millis()%255);
-      float beginRect = rectWidth/2 + keyIndex*keyScale-rectWidth/2;
-      rect(beginRect, 0.0, rectWidth, height);
-    }
-  }
-}
- - diff --git a/examples/basic/keyboardfunctions.html b/examples/basic/keyboardfunctions.html deleted file mode 100644 index 36cc1b45b..000000000 --- a/examples/basic/keyboardfunctions.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - -

Processing.js

-

KeyboardFunctions

- -

Modified from code by Martin. -Original 'Color Typewriter' concept by John Maeda. - -Click on the window to give it focus and press the letter keys to type colors. -The keyboard function keyPressed() is called whenever -a key is pressed. keyReleased() is another keyboard -function that is called when a key is released.

- -

Original Processing.org Example: KeyboardFunctions
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int max_height = 20;
-int min_height = 10;
-int letter_height = max_height; // Height of the letters
-int letter_width = 10;          // Width of the letter
-
-int x = -letter_width;          // X position of the letters
-int y = 0;                      // Y position of the letters
-
-boolean newletter;              
-
-int numChars = 26;      // There are 26 characters in the alphabet
-color[] colors = new color[numChars];
-
-void setup()
-{
-  size(200, 200);
-  noStroke();
-  colorMode(RGB, numChars);
-  background(numChars/2);
-  // Set a gray value for each key
-  for(int i=0; i<numChars; i++) {
-    colors[i] = color(i, i, i);    
-  }
-}
-
-void draw()
-{
-  if(newletter == true) {
-    // Draw the "letter"
-    int y_pos;
-    if (letter_height == max_height) {
-      y_pos = y;
-      rect( x, y_pos, letter_width, letter_height );
-    } else {
-      y_pos = y + min_height;
-      rect( x, y_pos, letter_width, letter_height );
-      fill(numChars/2);
-      rect( x, y_pos-min_height, letter_width, letter_height );
-    }
-    newletter = false;
-  }
-}
-
-void keyPressed()
-{
-  // if the key is between 'A'(65) and 'z'(122)
-  if( key >= 'A' && key <= 'z') {
-    int keyIndex;
-    if(key <= 'Z') {
-      keyIndex = key-'A';
-      letter_height = max_height;
-      fill(colors[key-'A']);
-    } else {
-      keyIndex = key-'a';
-      letter_height = min_height;
-      fill(colors[key-'a']);
-    }
-  } else {
-    fill(0);
-    letter_height = 10;
-  }
-
-  newletter = true;
-
-  // Update the "letter" position
-  x = ( x + letter_width ); 
-
-  // Wrap horizontally
-  if (x > width - letter_width) {
-    x = 0;
-    y+= max_height;
-  }
-
-  // Wrap vertically
-  if( y > height - letter_height) {
-    y = 0;      // reset y to 0
-  }
-}
- - diff --git a/examples/basic/letters.html b/examples/basic/letters.html deleted file mode 100644 index 4fadadd24..000000000 --- a/examples/basic/letters.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - -

Processing.js

-

Letters

- -

Drawing letters to the screen in Processing -uses a technology developed in the mid 1990s -at the Visual Language Workshop at the MIT -Media Laboratory. It is a closed system, -but we have supplied a number of fonts -located in the "font" directory in the main -"processing" directory. We expect to change -the Processing font technology in the future.

- -

Original Processing.org Example: Letters
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-
-// Load the font. Fonts are located within the 
-// main Processing directory/folder and they
-// must be placed within the data directory
-// of your sketch for them to load
-PFont fontA = loadFont("Courier New");
-textFont(fontA, 36);
-textAlign(CENTER);
-
-// Set the gray value of the letters
-fill(255);
-
-// Set the left and top margin
-int margin = 6;
-int gap = 30;
-translate(margin*1.5, margin*2);
-
-// Create a matrix of letterforms
-int counter = 0;
-for(int i=0; i<margin; i++) {
-  for(int j=0; j<margin; j++) {
-    char letter;
-    
-    // Select the letter
-    int count = 65+(i*margin)+j;
-    if(count <= 90) {
-      letter = char(65+counter);
-      if(letter == 'A' || letter == 'E' || letter == 'I' || 
-         letter == 'O' || letter == 'U') {
-           fill(204, 204, 0);
-      } else {
-        fill(255);
-      }
-    } else {
-      fill(153);
-      letter = char(48+counter);
-    }
- 
-    // Draw the letter to the screen
-    text(letter, 15+j*gap, 20+i*gap);
- 
-    // Increment the counter
-    counter++;
-    if(counter >= 26) {
-      counter = 0;
-    }
-  }
-}
- - diff --git a/examples/basic/lineargradient.html b/examples/basic/lineargradient.html deleted file mode 100644 index 34e0e8d67..000000000 --- a/examples/basic/lineargradient.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - - -

Processing.js

-

LinearGradient

- -

by Ira Greenberg. - -Using the convenient red(), green() -and blue() component functions, -generate some linear gradients.

- -

Original Processing.org Example: LinearGradient
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// constants
-int Y_AXIS = 1;
-int X_AXIS = 2;
-
-void setup(){
-  size(200, 200);
-
-  // create some gradients
-  // background
-  color b1 = color(190, 190, 190);
-  color b2 = color(20, 20, 20);
-  setGradient(0, 0, width, height, b1, b2, Y_AXIS);
-  //center squares
-  color c1 = color(255, 120, 0);
-  color c2 = color(10, 45, 255);
-  color c3 = color(10, 255, 15);
-  color c4 = color(125, 2, 140);
-  color c5 = color(255, 255, 0);
-  color c6 = color(25, 255, 200);
-  setGradient(25, 25, 75, 75, c1, c2, Y_AXIS);
-  setGradient(100, 25, 75, 75, c3, c4, X_AXIS);
-  setGradient(25, 100, 75, 75, c2, c5, X_AXIS);
-  setGradient(100, 100, 75, 75, c4, c6, Y_AXIS);
-}
-
-void setGradient(int x, int y, float w, float h, color c1, color c2, int axis ){
-  // calculate differences between color components 
-  float deltaR = red(c2)-red(c1);
-  float deltaG = green(c2)-green(c1);
-  float deltaB = blue(c2)-blue(c1);
-
-  // choose axis
-  if(axis == Y_AXIS){
-    /*nested for loops set pixels
-     in a basic table structure */
-    // column
-    for (int i=x; i<=(x+w); i++){
-      // row
-      for (int j = y; j<=(y+h); j++){
-        color c = color(
-        (red(c1)+(j-y)*(deltaR/h)),
-        (green(c1)+(j-y)*(deltaG/h)),
-        (blue(c1)+(j-y)*(deltaB/h)) 
-          );
-        set(i, j, c);
-      }
-    }  
-  }  
-  else if(axis == X_AXIS){
-    // column 
-    for (int i=y; i<=(y+h); i++){
-      // row
-      for (int j = x; j<=(x+w); j++){
-        color c = color(
-        (red(c1)+(j-x)*(deltaR/h)),
-        (green(c1)+(j-x)*(deltaG/h)),
-        (blue(c1)+(j-x)*(deltaB/h)) 
-          );
-        set(j, i, c);
-      }
-    }  
-  }
-}
- - diff --git a/examples/basic/loadingimages.html b/examples/basic/loadingimages.html deleted file mode 100644 index 31c950829..000000000 --- a/examples/basic/loadingimages.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - -

Processing.js

-

LoadingImages

- -

Loading a recent image from the US National Weather Service. -Notice the date in the upper left corner of the image. -Processing applications can only load images from the network -while running in the Processing environment. This example will -not run in a web broswer and will only work when the computer -is connected to the Internet.

- -

Original Processing.org Example: LoadingImages
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-PImage img1;
-img1 = loadImage("http://iwin.nws.noaa.gov/iwin/images/ecir.jpg");
-image(img1, 0, 0);
- - diff --git a/examples/basic/logicaloperators.html b/examples/basic/logicaloperators.html deleted file mode 100644 index 685122bc1..000000000 --- a/examples/basic/logicaloperators.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -

Processing.js

-

LogicalOperators

- -

The logical operators for AND (&&) and OR (||) are used to -combine simple relational statements into more complex expressions. -The NOT (!) operator is used to negate a boolean statement.

- -

Original Processing.org Example: LogicalOperators
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(126);
-
-boolean op = false;
-
-for(int i=5; i<=195; i+=5) {
-  // Logical AND
-  stroke(0);
-  if((i > 35) && (i < 100)) {
-    line(5, i, 95, i);
-    op = false;
-  }
-  
-  // Logical OR
-  stroke(76);
-  if((i <= 35) || (i >= 100)) {
-    line(105, i, 195, i);
-    op = true;
-  }
-  
-  // Testing if a boolean value is "true"
-  // The expression "if(op)" is equivalent to "if(op == true)"
-  if(op) {
-    stroke(0);
-    point(width/2, i);
-  }
-    
-  // Testing if a boolean value is "false"
-  // The expression "if(!op)" is equivalent to "if(op == false)"
-  if(!op) {
-    stroke(255);
-    point(width/4, i);
-  }
-}
- - diff --git a/examples/basic/loop.html b/examples/basic/loop.html deleted file mode 100644 index 76c0e47eb..000000000 --- a/examples/basic/loop.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -

Processing.js

-

Loop

- -

The loop() function causes draw() to execute -continuously. If noLoop is called in setup() -the draw() is only executed once. In this example -click the mouse to execute loop(), which will -cause the draw() the execute continuously.

- -

Original Processing.org Example: Loop
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The statements in the setup() function 
-// execute once when the program begins
-void setup() 
-{
-  size(200, 200);  // Size should be the first statement
-  stroke(255);     // Set stroke color to white
-  noLoop();
-}
-
-float y = 100;
-
-// The statements in draw() are run until the 
-// program is stopped. Each statement is run in 
-// sequence and after the last line is read, the first 
-// line is run again.
-void draw() 
-{ 
-  background(0);   // Set the background to black
-  line(0, y, width, y);  
-  
-  y = y - 1; 
-  if (y < 0) { 
-    y = height; 
-  } 
-} 
-
-void mousePressed() 
-{
-  loop();
-}
- - diff --git a/examples/basic/milliseconds.html b/examples/basic/milliseconds.html deleted file mode 100644 index 0b3fe43dd..000000000 --- a/examples/basic/milliseconds.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -

Processing.js

-

Milliseconds

- -

A millisecond is 1/1000 of a second. -Processing keeps track of the number of milliseconds a program has run. -By modifying this number with the modulo(%) operator, -different patterns in time are created.

- -

Original Processing.org Example: Milliseconds
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float scale;
-
-void setup()
-{
-  size(200, 200);
-  noStroke();
-  scale = width/10;
-}
-
-void draw()
-{ 
-  for(int i=0; i<scale; i++) {
-    colorMode(RGB, (i+1) * scale * 10);
-    fill(millis()%((i+1) * scale * 10) );
-    rect(i*scale, 0, scale, height);
-  }
-}
- - diff --git a/examples/basic/modulo.html b/examples/basic/modulo.html deleted file mode 100644 index 81b3f4197..000000000 --- a/examples/basic/modulo.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -

Processing.js

-

Modulo

- -

The modulo operator (%) returns the remainder of a number -divided by another. As in this example, it is often used -to keep numerical values within a set range. - -Created 12 January 2003.

- -

Original Processing.org Example: Modulo
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int num = 20;
-float c;
-
-void setup()
-{
-  size(200,200);
-  fill(255);
-  frameRate(30);
-}
-
-void draw() 
-{ 
-  background(0);
-  c+=0.1;
-  for(int i=1; i<height/num; i++) { 
-    float x = (c%i)*i*i;
-    stroke(102);
-    line(0, i*num, x, i*num);
-    noStroke();
-    rect(x, i*num-num/2, 8, num);
-  } 
-}
- - diff --git a/examples/basic/mouse1d.html b/examples/basic/mouse1d.html deleted file mode 100644 index 6e996f40b..000000000 --- a/examples/basic/mouse1d.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - -

Processing.js

-

Mouse1D

- -

Move the mouse left and right to shift the balance. -The "mouseX" variable is used to control both the -size and color of the rectangles.

- -

Original Processing.org Example: Mouse1D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int gx = 15;
-int gy = 35;
-float leftColor = 0.0;
-float rightColor = 0.0;
-
-void setup() 
-{
-  size(200, 200);
-  colorMode(RGB, 1.0);
-  noStroke();
-}
-
-void draw() 
-{
-  background(0.0);
-  update(mouseX); 
-  fill(0.0, leftColor + 0.4, leftColor + 0.6); 
-  rect(width/4-gx, width/2-gx, gx*2, gx*2); 
-  fill(0.0, rightColor + 0.2, rightColor + 0.4); 
-  rect(width/1.33-gy, width/2-gy, gy*2, gy*2);
-}
-
-void update(int x) 
-{
-  leftColor = -0.002 * x/2 + 0.06;
-  rightColor =  0.002 * x/2 + 0.06;
-	
-  gx = x/2;
-  gy = 100-x/2;
-
-  if (gx < 10) {
-    gx = 10;
-  } else if (gx > 90) {
-    gx = 90;
-  }
-
-  if (gy > 90) {
-    gy = 90;
-  } else if (gy < 10) {
-    gy = 10;
-  }
-}
- - diff --git a/examples/basic/mouse2d.html b/examples/basic/mouse2d.html deleted file mode 100644 index d0a1758ad..000000000 --- a/examples/basic/mouse2d.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - -

Processing.js

-

Mouse2D

- -

Moving the mouse changes the position and size of each box.

- -

Original Processing.org Example: Mouse2D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() 
-{
-  size(200, 200); 
-  noStroke();
-  colorMode(RGB, 255, 255, 255, 100);
-  rectMode(CENTER);
-}
-
-void draw() 
-{   
-  background(51); 
-  fill(255, 80);
-  rect(mouseX, height/2, mouseY/2+10, mouseY/2+10);
-  fill(255, 80);
-  rect(width-mouseX, height/2, ((height-mouseY)/2)+10, ((height-mouseY)/2)+10);
-}
- - diff --git a/examples/basic/mousefunctions.html b/examples/basic/mousefunctions.html deleted file mode 100644 index 813bfa306..000000000 --- a/examples/basic/mousefunctions.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - -

Processing.js

-

MouseFunctions

- -

Click on the box and drag it across the screen.

- -

Original Processing.org Example: MouseFunctions
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float bx;
-float by;
-int bs = 20;
-boolean bover = false;
-boolean locked = false;
-float bdifx = 0.0; 
-float bdify = 0.0; 
-
-
-void setup() 
-{
-  size(200, 200);
-  bx = width/2.0;
-  by = height/2.0;
-  rectMode(CENTER_RADIUS);  
-}
-
-void draw() 
-{ 
-  background(0);
-  
-  // Test if the cursor is over the box 
-  if (mouseX > bx-bs && mouseX < bx+bs && 
-      mouseY > by-bs && mouseY < by+bs) {
-    bover = true;  
-    if(!locked) { 
-      stroke(255); 
-      fill(153);
-    } 
-  } else {
-    stroke(153);
-    fill(153);
-    bover = false;
-  }
-  
-  // Draw the box
-  rect(bx, by, bs, bs);
-}
-
-void mousePressed() {
-  if(bover) { 
-    locked = true; 
-    fill(255, 255, 255);
-  } else {
-    locked = false;
-  }
-  bdifx = mouseX-bx; 
-  bdify = mouseY-by; 
-
-}
-
-void mouseDragged() {
-  if(locked) {
-    bx = mouseX-bdifx; 
-    by = mouseY-bdify; 
-  }
-}
-
-void mouseReleased() {
-  locked = false;
-}
- - diff --git a/examples/basic/mouseoverandout.html b/examples/basic/mouseoverandout.html deleted file mode 100644 index 113578d95..000000000 --- a/examples/basic/mouseoverandout.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - -

Processing.js

-

MouseOver and MouseOut

- -

Mouse over the sketch, then mouse out. The background color should change for each.

- -

Processing.js only
-

-
- -
// written by Chris Lonnen
-// Issue 670 
-
-// Mouse over the window. Then move the mouse out.
-// Does the background change color?
-
-void setup() {
-  size(200,200);
-  background(10);
-}
-
-void draw() {}
-
-void mouseOut() {
-  background(140,50,80);
-}
-
-void mouseOver() {
-  background(50,80,140);
-}
- - diff --git a/examples/basic/mousepress.html b/examples/basic/mousepress.html deleted file mode 100644 index d54534ba9..000000000 --- a/examples/basic/mousepress.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -

Processing.js

-

MousePress

- -

Move the mouse to position the shape. -Press the mouse button to invert the color.

- -

Original Processing.org Example: MousePress
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() {
-  size(200, 200);
-  fill(126);
-  background(102);
-}
-
-void draw() {
-  if(mousePressed) {
-    stroke(255);
-  } else {
-    stroke(0);
-  }
-  line(mouseX-66, mouseY, mouseX+66, mouseY);
-  line(mouseX, mouseY-66, mouseX, mouseY+66); 
-}
- - diff --git a/examples/basic/mousesignals.html b/examples/basic/mousesignals.html deleted file mode 100644 index 3fb74d882..000000000 --- a/examples/basic/mousesignals.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - -

Processing.js

-

MouseSignals

- -

Move and click the mouse to generate signals. -The top row is the signal from "mouseX", -the middle row is the signal from "mouseY", -and the bottom row is the signal from "mousePressed".

- -

Original Processing.org Example: MouseSignals
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int[] xvals;
-int[] yvals;
-int[] bvals;
-
-void setup() 
-{
-  size(200, 200);
-  xvals = new int[width];
-  yvals = new int[width];
-  bvals = new int[width];
-}
-
-int arrayindex = 0;
-
-void draw()
-{
-  background(102);
-  
-  for(int i=1; i<width; i++) { 
-    xvals[i-1] = xvals[i]; 
-    yvals[i-1] = yvals[i];
-    bvals[i-1] = bvals[i];
-  } 
-  // Add the new values to the end of the array 
-  xvals[width-1] = mouseX; 
-  yvals[width-1] = mouseY;
-  if(mousePressed) {
-    bvals[width-1] = 0;
-  } else {
-    bvals[width-1] = 255;
-  }
-  
-  fill(255);
-  noStroke();
-  rect(0, height/3, width, height/3+1);
-
-  for(int i=1; i<width; i++) {
-    stroke(255);
-    point(i, xvals[i]/3);
-    stroke(0);
-    point(i, height/3+yvals[i]/3);
-    stroke(255);
-    line(i, 2*height/3+bvals[i]/3, i, (2*height/3+bvals[i-1]/3));
-  }
-}
- - diff --git a/examples/basic/multipleconstructors.html b/examples/basic/multipleconstructors.html deleted file mode 100644 index fc7ddcfe7..000000000 --- a/examples/basic/multipleconstructors.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - -

Processing.js

-

MultipleConstructors

- -

A class can have multiple constructors that assign the fields in different ways. -Sometimes it's beneficial to specify every aspect of an objects data by assigning -parameters to the fields, but other times it might be appropriate to define only -one or a few.

- -

Original Processing.org Example: MultipleConstructors
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-Spot sp1, sp2;
-void setup() 
-{
-  size(200, 200);
-  background(204);
-  smooth();
-  noLoop();
-  // Run the constructor without parameters
-  sp1 = new Spot();
-  // Run the constructor with three parameters
-  sp2 = new Spot(122, 100, 40);
-}
-
-void draw() {
-  sp1.display();
-  sp2.display();
-}
-
-class Spot {
-  float x, y, radius;
-  // First version of the Spot constructor;
-  // the fields are assigned default values
-  Spot() {
-    x = 66;
-    y = 100;
-    radius = 16;
-  }
-  // Second version of the Spot constructor;
-  // the fields are assigned with parameters
-  Spot(float xpos, float ypos, float r) {
-    x = xpos;
-    y = ypos;
-    radius = r;
-  }
-  void display() {
-    ellipse(x, y, radius*2, radius*2);
-  }
-}
- - diff --git a/examples/basic/neighborhood.html b/examples/basic/neighborhood.html deleted file mode 100644 index 481815a90..000000000 --- a/examples/basic/neighborhood.html +++ /dev/null @@ -1,604 +0,0 @@ - - - - - -

Processing.js

-

Neighborhood

- -

By Ira Greenberg - -Draw a neighborhood of houses using -Door, Window, Roof and House classes. -Good example of class composition, with component -Door, Window, Roof class references encapsulated -within House class. This arrangement allows -House class to handle placement and sizing of -its components, while still allowing user -customization of the individual components.

- -

Original Processing.org Example: Neighborhood
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup(){
-  size(200, 200);
-  background(190);
-  smooth();
-  // Ground plane
-  int groundHeight = 10;
-  fill(0);
-  rect(0, height-groundHeight, width, groundHeight);
-  fill(255);
-  
-  // Center the houses
-  translate(12, 0);
-
-  // Houses
-  Door door1 = new Door(20, 40);
-  Window window1 = new Window(50, 62, false, Window.DOUBLE);
-  Roof roof1 = new Roof(Roof.DOME);
-  House house1 = new House(75, 75, door1, window1, roof1, House.MIDDLE_DOOR);
-  house1.drawHouse(0, height-groundHeight-house1.h, true);
-
-  Door door2 = new Door(20, 40);
-  Window window2 = new Window(50, 62, true, Window.QUAD);
-  Roof roof2 = new Roof(Roof.GAMBREL);
-  House house2 = new House(100, 60, door2, window2, roof2, House.LEFT_DOOR);
-  house2.drawHouse(house1.x + house1.w, height-groundHeight-house2.h, true);
-}
-
-class Door{
-  //door properties
-  int x;
-  int y;
-  int w;
-  int h;
-
-  // for knob
-  int knobLoc = 1;
-  //constants
-  final static int RT = 0;
-  final static int LFT = 1;
-
-  // constructor
-  Door(int w, int h){
-    this.w = w;
-    this.h = h;
-  }
-
-  // draw the door
-  void drawDoor(int x, int y) {
-    rect(x, y, w, h);
-    int knobsize = w/10;
-    if (knobLoc == 0){
-      //right side
-      ellipse(x+w-knobsize, y+h/2, knobsize, knobsize);
-    }
-    else {
-      //left side
-      ellipse(x+knobsize, y+h/2, knobsize, knobsize);
-    }
-  }
-
-  // set knob position
-  void setKnob(int knobLoc){
-    this. knobLoc = knobLoc;
-  }
-}
-
-class Window{
-  //window properties
-  int x;
-  int y;
-  int w;
-  int h;
-
-  // customized features
-  boolean hasSash = false;
-
-  // single, double, quad pane
-  int style = 0;
-  //constants
-  final static int SINGLE = 0;
-  final static int DOUBLE = 1;
-  final static int QUAD = 2;
-
-  // constructor 1
-  Window(int w, int h){
-    this.w = w;
-    this.h = h;
-  }
-  // constructor 2
-  Window(int w, int h, int style){
-    this.w = w;
-    this.h = h;
-    this.style = style;
-  }
-  // constructor 3
-  Window(int w, int h, boolean hasSash, int style){
-    this.w = w;
-    this.h = h;
-    this.hasSash = hasSash;
-    this.style = style;
-  }
-
-  // draw the window
-  void drawWindow(int x, int y) {
-    //local variables
-    int margin = 0;
-    int winHt = 0;
-    int winWdth = 0;
-
-    if (hasSash){
-      margin = w/15;
-    }
-
-    switch(style){
-    case 0:
-      //outer window (sash)
-      rect(x, y, w, h);
-      //inner window
-      rect(x+margin, y+margin, w-margin*2, h-margin*2);
-      break;
-    case 1:
-      winHt = (h-margin*3)/2;
-      //outer window (sash)
-      rect(x, y, w, h);
-      //inner window (top)
-      rect(x+margin, y+margin, w-margin*2, winHt);
-      //inner windows (bottom)
-      rect(x+margin, y+winHt+margin*2, w-margin*2, winHt);
-      break;
-    case 2:
-      winWdth = (w-margin*3)/2;
-      winHt = (h-margin*3)/2;
-      //outer window (sash)
-      rect(x, y, w, h);
-      //inner window (top-left)
-      rect(x+margin, y+margin, winWdth, winHt);
-      //inner window (top-right)
-      rect(x+winWdth+margin*2,  y+margin, winWdth, winHt);
-      //inner windows (bottom-left)
-      rect(x+margin, y+winHt+margin*2, winWdth, winHt);
-      //inner windows (bottom-right)
-      rect(x+winWdth+margin*2,  y+winHt+margin*2, winWdth, winHt);
-      break;
-    }
-  }
-
-  // set window style (number of panes)
-  void setStyle(int style){
-    this.style = style;
-  }
-}
-
-class Roof{
-  //roof properties
-  int x;
-  int y;
-  int w;
-  int h;
-
-  // roof style
-  int style = 0;
-  //constants  
-  final static int CATHEDRAL = 0;
-  final static int GAMBREL = 1;
-  final static int DOME = 2;
-
-  // default constructor
-  Roof(){
-  }
-   
-   // constructor 2
-   Roof(int style){
-    this.style = style;
-  }
-
-  // draw the roof
-  void drawRoof(int x, int y, int w, int h) {
-    switch(style){
-    case 0:
-      beginShape();
-      vertex(x, y);
-      vertex(x+w/2, y-h/3);
-      vertex(x+w, y);
-      endShape(CLOSE);
-      break;
-    case 1:
-     beginShape();
-      vertex(x, y);
-      vertex(x+w/7, y-h/4);
-      vertex(x+w/2, y-h/2);
-      vertex(x+(w-w/7), y-h/4);
-      vertex(x+w, y);
-      endShape(CLOSE);
-      break;
-    case 2:
-      ellipseMode(CORNER);
-      arc(x, y-h/2, w, h, PI, TWO_PI);
-      line(x, y, x+w, y);
-      break;
-    }
-
-  }
-
-  // set roof style
-  void setStyle(int style){
-    this.style = style;
-  }
-}
-
-class House{
-  //house properties
-  int x;
-  int y;
-  int w;
-  int h;
-
-  //component reference variables
-  Door door;
-  Window window;
-  Roof roof;
-
-  //optional autosize variable
-  boolean AutoSizeComponents = false;
-
-  //door placement
-  int doorLoc = 0;
-  //constants
-  final static int MIDDLE_DOOR = 0;
-  final static int LEFT_DOOR = 1;
-  final static int RIGHT_DOOR = 2;
-
-  //constructor
-  House(int w, int h, Door door, Window window, Roof roof, int doorLoc) {
-    this.w = w;
-    this.h = h;
-    this.door = door;
-    this.window = window;
-    this.roof = roof;
-    this.doorLoc = doorLoc;
-  }
-
-  void drawHouse(int x, int y, boolean AutoSizeComponents) {
-    this.x = x;
-    this.y =y;
-    this.AutoSizeComponents = AutoSizeComponents;
-
-    //automatically sizes doors and windows
-    if(AutoSizeComponents){
-      //autosize door
-      door.h = h/4;
-      door.w = door.h/2;
-
-      //autosize windows
-      window.h = h/3;
-      window.w = window.h/2;
-
-    }
-    // draw bldg block
-    rect(x, y, w, h);
-
-    // draw door
-    switch(doorLoc){
-    case 0:
-      door.drawDoor(x+w/2-door.w/2, y+h-door.h);
-      break;
-    case 1:
-      door.drawDoor(x+w/8, y+h-door.h);
-      break;
-    case 2:
-      door.drawDoor(x+w-w/8-door.w,  y+h-door.h);
-      break;
-    }
-
-    // draw windows
-    int windowMargin = (w-window.w*2)/3;
-    window.drawWindow(x+windowMargin, y+h/6);
-    window.drawWindow(x+windowMargin*2+window.w, y+h/6);
-
-    // draw roof
-    roof.drawRoof(x, y, w, h);
-  }
-
-  // catch drawHouse method without boolean argument
-  void drawHouse(int x, int y){
-    // recall with required 3rd argument
-    drawHouse(x, y, false);
-  }
-}
- - diff --git a/examples/basic/noise1d.html b/examples/basic/noise1d.html deleted file mode 100644 index cf31c42e5..000000000 --- a/examples/basic/noise1d.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -

Processing.js

-

Noise1D

- -

Using 1D Perlin Noise to assign location.

- -

Original Processing.org Example: Noise1D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float xoff = 0.0;
-float xincrement = 0.01; 
-
-void setup() {
-  size(200,200);
-  background(0);
-  frameRate(30);
-  smooth();
-  noStroke();
-}
-
-void draw()
-{
-  // Create an alpha blended background
-  fill(0, 10);
-  rect(0,0,width,height);
-  
-  //float n = random(0,width);  // Try this line instead of noise
-  
-  // Get a noise value based on xoff and scale it according to the window's width
-  float n = noise(xoff)*width;
-  
-  // With each cycle, increment xoff
-  xoff += xincrement;
-  
-  // Draw the ellipse at the value produced by perlin noise
-  fill(200);
-  ellipse(n,height/2,16,16);
-}
- - diff --git a/examples/basic/noise2d.html b/examples/basic/noise2d.html deleted file mode 100644 index 18376f0ee..000000000 --- a/examples/basic/noise2d.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - -

Processing.js

-

Noise2D

- -

by Daniel Shiffman. - -Using 2D noise to create simple texture.

- -

Original Processing.org Example: Noise2D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float increment = 0.02;
-
-void setup() {
-  size(200,200);
-  noLoop();
-}
-
-void draw() {
-  background(0);
-  
-  // Optional: adjust noise detail here
-  // noiseDetail(8,0.65f);
-  
-  loadPixels();
-
-  float xoff = 0.0; // Start xoff at 0
-  
-  // For every x,y coordinate in a 2D space, calculate a noise value and produce a brightness value
-  for (int x = 0; x < width; x++) {
-    xoff += increment;   // Increment xoff 
-    float yoff = 0.0;   // For every xoff, start yoff at 0
-    for (int y = 0; y < height; y++) {
-      yoff += increment; // Increment yoff
-      
-      // Calculate noise and scale by 255
-      float bright = noise(xoff,yoff)*255;
-
-      // Try using this line instead
-      //float bright = random(0,255);
-      
-      // Set each pixel onscreen to a grayscale value
-      pixels[x+y*width] = color(bright);
-    }
-  }
-  
-  updatePixels();
-}
- - diff --git a/examples/basic/noise3d.html b/examples/basic/noise3d.html deleted file mode 100644 index 9cfec4854..000000000 --- a/examples/basic/noise3d.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -

Processing.js

-

Noise3D

- -

Using 3D noise to create simple animated texture. -Here, the third dimension ('z') is treated as time.

- -

Original Processing.org Example: Noise3D
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float increment = 0.01;
-// The noise function's 3rd argument, a global variable that increments once per cycle
-float zoff = 0.0;  
-// We will increment zoff differently than xoff and yoff
-float zincrement = 0.02; 
-
-void setup() {
-  size(200,200);
-  frameRate(30);
-}
-
-void draw() {
-  background(0);
-  
-  // Optional: adjust noise detail here
-  // noiseDetail(8,0.65f);
-  
-  loadPixels();
-
-  float xoff = 0.0; // Start xoff at 0
-  
-  // For every x,y coordinate in a 2D space, calculate a noise value and produce a brightness value
-  for (int x = 0; x < width; x++) {
-    xoff += increment;   // Increment xoff 
-    float yoff = 0.0f;   // For every xoff, start yoff at 0
-    for (int y = 0; y < height; y++) {
-      yoff += increment; // Increment yoff
-      
-      // Calculate noise and scale by 255
-      float bright = noise(xoff,yoff,zoff)*255;
-
-      // Try using this line instead
-      //float bright = random(0,255);
-      
-      // Set each pixel onscreen to a grayscale value
-      pixels[x+y*width] = color(bright,bright,bright);
-    }
-  }
-  updatePixels();
-  
-  zoff += zincrement; // Increment zoff
-  
-  
-}
- - diff --git a/examples/basic/noisewave.html b/examples/basic/noisewave.html deleted file mode 100644 index 21127636e..000000000 --- a/examples/basic/noisewave.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - -

Processing.js

-

NoiseWave

- -

by Daniel Shiffman. - -Using Perlin Noise to generate a wave-like pattern.

- -

Original Processing.org Example: NoiseWave
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int xspacing = 8;   // How far apart should each horizontal location be spaced
-int w;              // Width of entire wave
-
-float yoff = 0.0f;        // 2nd dimension of perlin noise
-float[] yvalues;          // Using an array to store height values for the wave (not entirely necessary)
-
-void setup() {
-  size(200,200);
-  frameRate(30);
-  colorMode(RGB,255,255,255,100);
-  smooth();
-  w = width+16;
-  yvalues = new float[w/xspacing];
-}
-
-void draw() {
-  background(0);
-  calcWave();
-  renderWave();
-
-}
-
-void calcWave() {
-  float dx = 0.05f;
-  float dy = 0.01f;
-  float amplitude = 100.0f;
-
-  // Increment y ('time')
-  yoff += dy;
-
-  //float xoff = 0.0;  // Option #1
-  float xoff = yoff; // Option #2
-
-  for (int i = 0; i < yvalues.length; i++) {
-    // Using 2D noise function
-    //yvalues[i] = (2*noise(xoff,yoff)-1)*amplitude; // Option #1
-    // Using 1D noise function
-    yvalues[i] = (2*noise(xoff)-1)*amplitude;    // Option #2
-    xoff+=dx;
-  }
-
-}
-
-void renderWave() {
-  // A simple way to draw the wave with an ellipse at each location
-  for (int x = 0; x < yvalues.length; x++) {
-    noStroke();
-    fill(255,50);
-    ellipseMode(CENTER);
-    ellipse(x*xspacing,width/2+yvalues[x],16,16);
-  }
-}
- - diff --git a/examples/basic/noloop.html b/examples/basic/noloop.html deleted file mode 100644 index 758a9adc2..000000000 --- a/examples/basic/noloop.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - -

Processing.js

-

NoLoop

- -

The noLoop() function causes draw() to only -execute once. Without calling noLoop(), draw() -executed continually.

- -

Original Processing.org Example: NoLoop
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The statements in the setup() function 
-// execute once when the program begins
-void setup() 
-{
-  size(200, 200);  // Size should be the first statement
-  stroke(255);     // Set line drawing color to white
-  frameRate(30);
-  noLoop();
-}
-
-float y = 100;
-
-// The statements in draw() are executed until the 
-// program is stopped. Each statement is executed in 
-// sequence and after the last line is read, the first 
-// line is executed again.
-void draw() 
-{ 
-  background(0);   // Set the background to black
-  y = y - 1; 
-  if (y < 0) { y = height; } 
-  line(0, y, width, y);  
-}
- - diff --git a/examples/basic/objects.html b/examples/basic/objects.html deleted file mode 100644 index 58963f1b7..000000000 --- a/examples/basic/objects.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - -

Processing.js

-

Objects

- -

by hbarragan - -Move the cursor across the image to change the speed and positions -of the geometry. The class MRect defines a group of lines.

- -

Original Processing.org Example: Objects
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-MRect r1, r2, r3, r4;
- 
-void setup()
-{
-  size(200, 200);
-  fill(255, 204);
-  noStroke();
-  r1 = new MRect(1, 134.0, 0.532, 0.083*height, 10.0, 60.0);
-  r2 = new MRect(2, 44.0, 0.166, 0.332*height, 5.0, 50.0);
-  r3 = new MRect(2, 58.0, 0.332, 0.4482*height, 10.0, 35.0);
-  r4 = new MRect(1, 120.0, 0.0498, 0.913*height, 15.0, 60.0);
-}
- 
-void draw()
-{
-  background(0);
-  
-  r1.display();
-  r2.display();
-  r3.display();
-  r4.display();
- 
-  r1.move(mouseX-(width/2), mouseY+(height*0.1), 30);
-  r2.move((mouseX+(width*0.05))%width, mouseY+(height*0.025), 20);
-  r3.move(mouseX/4, mouseY-(height*0.025), 40);
-  r4.move(mouseX-(width/2), (height-mouseY), 50);
-}
- 
-class MRect 
-{
-  int w; // single bar width
-  float xpos; // rect xposition
-  float h; // rect height
-  float ypos ; // rect yposition
-  float d; // single bar distance
-  float t; // number of bars
- 
-  MRect(int iw, float ixp, float ih, float iyp, float id, float it) {
-    w = iw;
-    xpos = ixp;
-    h = ih;
-    ypos = iyp;
-    d = id;
-    t = it;
-  }
- 
-  void move (float posX, float posY, float damping) {
-    float dif = ypos - posY;
-    if (abs(dif) > 1) {
-      ypos -= dif/damping;
-    }
-    dif = xpos - posX;
-    if (abs(dif) > 1) {
-      xpos -= dif/damping;
-    }
-  }
- 
-  void display() {
-    for (int i=0; i<t; i++) {
-      rect(xpos+(i*(d+w)), ypos, w, height*h);
-    }
-  }
-}
- - diff --git a/examples/basic/operatorprecedence.html b/examples/basic/operatorprecedence.html deleted file mode 100644 index e885f90d8..000000000 --- a/examples/basic/operatorprecedence.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - -

Processing.js

-

OperatorPrecedence

- -

by REAS - -If you don't explicitly state the order in which -an expression is evaluated, they are evaluated based -on the operator precedence. For example, in the statement -"4 + 28", the 2 will first be multiplied by 8 and then the result will -be added to 4. This is because the "*" has a higher precedence -than the "+". To avoid ambiguity in reading the program, -it is recommended that is statement is written as "4 + (28)". -The order of evaluation can be controlled through placement of -parenthesis in the code. A table of operator precedence follows below.

- -

Original Processing.org Example: OperatorPrecedence
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The highest precedence is at the top of the list and 
-// the lowest is at the bottom.
-// Multiplicative: * / %
-// Additive: + -
-// Relational: < > <= >=
-// Equality: == !=
-// Logical AND: &&
-// Logical OR: ||
-// Assignment: = += -= *= /= %=
-
-size(200, 200);
-background(51);
-noFill();
-stroke(51);
-
-stroke(204);
-for(int i=0; i< width-20; i+= 4) {
-  // The 30 is added to 70 and then evaluated
-  // if it is greater than the current value of "i"
-  // For clarity, write as "if(i > (30 + 70)) {"
-  if(i > 30 + 70) {
-    line(i, 0, i, 50);
-  }
-}
-
-stroke(255);
-// The 2 is multiplied by the 8 and the result is added to the 5
-// For clarity, write as "rect(5 + (2 * 8), 0, 90, 20);"
-rect(4 + 2 * 8, 52, 90, 48);
-rect((4 + 2) * 8, 100, 90, 49);
-  
-stroke(153);
-for(int i=0; i< width; i+= 2) {
-  // The relational statements are evaluated 
-  // first, and then the logical AND statements and 
-  // finally the logical OR. For clarity, write as:
-  // "if(((i > 10) && (i < 50)) || ((i > 80) && (i < 160))) {"
-  if(i > 20 && i < 50 || i > 100 && i < width-20) {
-    line(i, 151, i, height-1);
-  } 
-}
- - diff --git a/examples/basic/piechart.html b/examples/basic/piechart.html deleted file mode 100644 index 00e087a67..000000000 --- a/examples/basic/piechart.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - -

Processing.js

-

PieChart

- -

By Ira Greenberg - -Uses the arc() function to generate a pie chart from the data -stored in an array.

- -

Original Processing.org Example: PieChart
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(100);
-smooth();
-noStroke();
-
-int diameter = 150;
-int[] angs = {30, 10, 45, 35, 60, 38, 75, 67};
-float lastAng = 0;
-
-for (int i=0; i<angs.length; i++){
-  fill(angs[i] * 3.0);
-  arc(width/2, height/2, diameter, diameter, lastAng, lastAng+radians(angs[i]));
-  lastAng += radians(angs[i]);  
-}
- - diff --git a/examples/basic/pointillism.html b/examples/basic/pointillism.html deleted file mode 100644 index 5b5db2b1c..000000000 --- a/examples/basic/pointillism.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -

Processing.js

-

Pointillism

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. -F1LT3R

- -

by Daniel Shiffman. - -Mouse horizontal location controls size of dots. -Creates a simple pointillist effect using ellipses colored -according to pixels in an image.

- -

Original Processing.org Example: Pointillism
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-
-/* @pjs preload="data/eames.jpg"; */
-
-PImage a;
-
-void setup()
-{
-  a = loadImage("eames.jpg");
-  size(200,200);
-  noStroke();
-  background(255);
-  smooth();
-}
-
-void draw()
-{ 
-  float pointillize = map(mouseX, 0, width, 2, 18);
-  int x = int(random(a.width));
-  int y = int(random(a.height));
-  color pix = a.get(x, y);
-  fill(pix, 126);
-  ellipse(x, y, pointillize, pointillize);
-}
- - diff --git a/examples/basic/pointslines.html b/examples/basic/pointslines.html deleted file mode 100644 index a171e1c93..000000000 --- a/examples/basic/pointslines.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -

Processing.js

-

PointsLines

- -

Constructing a simple dimensional form with lines and rectangles. -Changing the value of the variable 'd' scales the image. -The four variables set the positions based on the value of 'd'.

- -

Original Processing.org Example: PointsLines
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int d = 40;
-int p1 = d;
-int p2 = p1+d;
-int p3 = p2+d;
-int p4 = p3+d;
-
-size(200, 200);
-background(0);
-
-// Draw gray box
-stroke(153);
-line(p3, p3, p2, p3);
-line(p2, p3, p2, p2);
-line(p2, p2, p3, p2);
-line(p3, p2, p3, p3);
-
-// Draw white points
-stroke(255);
-point(p1, p1);
-point(p1, p3); 
-point(p2, p4);
-point(p3, p1); 
-point(p4, p2);
-point(p4, p4);
- - diff --git a/examples/basic/polartocartesian.html b/examples/basic/polartocartesian.html deleted file mode 100644 index c7e951a99..000000000 --- a/examples/basic/polartocartesian.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -

Processing.js

-

PolarToCartesian

- -

by Daniel Shiffman. - -Convert a polar coordinate (r,theta) to cartesian (x,y): -x = rcos(theta) -y = rsin(theta)

- -

Original Processing.org Example: PolarToCartesian
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float r;
-
-// Angle and angular velocity, accleration
-float theta;
-float theta_vel;
-float theta_acc;
-
-void setup() {
-  size(200,200);
-  frameRate(30);
-  smooth();
-  
-  // Initialize all values
-  r = 50.0f;
-  theta = 0.0f;
-  theta_vel = 0.0f;
-  theta_acc = 0.0001f;
-}
-
-void draw() {
-  background(0);
-  // Translate the origin point to the center of the screen
-  translate(width/2,height/2);
-  
-  // Convert polar to cartesian
-  float x = r * cos(theta);
-  float y = r * sin(theta);
-  
-  // Draw the ellipse at the cartesian coordinate
-  ellipseMode(CENTER);
-  noStroke();
-  fill(200);
-  ellipse(x,y,16,16);
-  
-  // Apply acceleration and velocity to angle (r remains static in this example)
-  theta_vel += theta_acc;
-  theta += theta_vel;
-
-}
- - diff --git a/examples/basic/radialgradient.html b/examples/basic/radialgradient.html deleted file mode 100644 index 0a9bf863a..000000000 --- a/examples/basic/radialgradient.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - -

Processing.js

-

RadialGradient

- -

by Ira Greenberg. - -Using the convenient red(), green() -and blue() component functions, -generate an array of radial gradients.

- -

Original Processing.org Example: RadialGradient
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup(){
-  size(200, 200);
-  background(0);
-  smooth();
-
-  // create a simple table of gradients
-  int columns = 4;
-  int radius = (width/columns)/2;
-  // create some gradients
-  for (int i=radius; i< width; i+=radius*2){
-    for (int j =radius; j< height; j+=radius*2){
-      createGradient(i, j, radius, 
-      color(int(random(255)), int(random(255)), int(random(255))), 
-      color(int(random(255)), int(random(255)), int(random(255))));
-    }
-  }
-}
-
-void createGradient (float x, float y, float radius, color c1, color c2){
-  float px = 0, py = 0, angle = 0;
-
-  // calculate differences between color components 
-  float deltaR = red(c2)-red(c1);
-  float deltaG = green(c2)-green(c1);
-  float deltaB = blue(c2)-blue(c1);
-  // hack to ensure there are no holes in gradient
-  // needs to be increased, as radius increases
-  float gapFiller = 8.0;
-
-  for (int i=0; i< radius; i++){
-    for (float j=0; j<360; j+=1.0/gapFiller){
-      px = x+cos(radians(angle))*i;
-      py = y+sin(radians(angle))*i;
-      angle+=1.0/gapFiller;
-      color c = color(
-      (red(c1)+(i)*(deltaR/radius)),
-      (green(c1)+(i)*(deltaG/radius)),
-      (blue(c1)+(i)*(deltaB/radius)) 
-        );
-      set(int(px), int(py), c);      
-    }
-  }
-  // adds smooth edge 
-  // hack anti-aliasing
-  noFill();
-  strokeWeight(3);
-  ellipse(x, y, radius*2, radius*2);
-}
- - diff --git a/examples/basic/random.html b/examples/basic/random.html deleted file mode 100644 index ca02fdb58..000000000 --- a/examples/basic/random.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -

Processing.js

-

Random

- -

Random numbers create the basis of this image. -Each time the program is loaded the result is different.

- -

Original Processing.org Example: Random
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-smooth();
-background(0);
-strokeWeight(10);
-
-for(int i = 0; i < width; i++) {
-  float r = random(255);
-  float x = random(0, width);
-  stroke(r, 100);
-  line(i, 0, x, height);
-}
- - diff --git a/examples/basic/reading.html b/examples/basic/reading.html deleted file mode 100644 index f970df4df..000000000 --- a/examples/basic/reading.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -

Processing.js

-

Reading

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading.

- -

An image is recreated from its individual component colors. -The many colors of the image are created through modulating the -red, green, and blue values. This is an exageration of an LCD display.

- -

Original Processing.org Example: Reading
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-noStroke();
-background(0);
-
-// Load an image from the data directory
-PImage c;
-c = loadImage("cait.jpg");
-
-int xoff = 0;
-int yoff = 0;
-int p = 2;
-int pix = p*3;
-
-
-for(int i = 0; i < c.width*c.height; i += 1) 
-{  
-  int here = c.pixels[i];
-  
-  fill(red(here), 0, 0);
-  rect(xoff, yoff, p, pix);
-  
-  fill(0, green(here), 0);
-  rect(xoff+p, yoff, p, pix);
-  
-  fill(0, 0, blue(here));
-  rect(xoff+p*2, yoff, p, pix);
-  
-  xoff+=pix;
-  if(xoff >= width-pix) {
-    xoff = 0;
-    yoff += pix;
-  }
-}
- - diff --git a/examples/basic/recursion.html b/examples/basic/recursion.html deleted file mode 100644 index e73fbc9b0..000000000 --- a/examples/basic/recursion.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -

Processing.js

-

Recursion

- -

A demonstration of recursion, which means functions call themselves. -Notice how the drawCircle() function calls itself at the end of its block. -It continues to do this until the variable "level" is equal to 1.

- -

Original Processing.org Example: Recursion
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() 
-{
-  size(200, 200);
-  noStroke();
-  smooth();
-  noLoop();
-}
-
-void draw() 
-{
-  drawCircle(126, 170, 6);
-}
-
-void drawCircle(int x, int radius, int level) 
-{                    
-  float tt = 126 * level/4.0;
-  fill(tt);
-  ellipse(x, 100, radius*2, radius*2);      
-  if(level > 1) {
-    level = level - 1;
-    drawCircle(x - radius/2, radius/2, level);
-    drawCircle(x + radius/2, radius/2, level);
-  }
-}
- - diff --git a/examples/basic/recursion2.html b/examples/basic/recursion2.html deleted file mode 100644 index 90e8e87ad..000000000 --- a/examples/basic/recursion2.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - -

Processing.js

-

Recursion2

- -

A demonstration of recursion, which means functions call themselves. -Notice how the drawCircle() function calls itself at the end of its block. -It continues to do this until the variable "level" is equal to 1.

- -

Original Processing.org Example: Recursion2
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() 
-{
-  size(200, 200);
-  noStroke();
-  smooth();
-  drawCircle(100, 100, 80, 8);
-}
-
-void drawCircle(float x, float y, int radius, int level) 
-{                    
-  float tt = 126 * level/6.0;
-  fill(tt, 153);
-  ellipse(x, y, radius*2, radius*2);      
-  if(level > 1) {
-    level = level - 1;
-    int num = int(random(2, 6));
-    for(int i=0; i<num; i++) {
-      float a = random(0, TWO_PI);
-      float nx = x + cos(a) * 6.0 * level;
-      float ny = y + sin(a) * 6.0 * level;
-      drawCircle(nx, ny, radius/2, level);
-    }
-  }
-}
- - diff --git a/examples/basic/redraw.html b/examples/basic/redraw.html deleted file mode 100644 index f8e95366a..000000000 --- a/examples/basic/redraw.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -

Processing.js

-

Redraw

- -

The redraw() function makes draw() execute once. -In this example, draw() is executed once every time -the mouse is clicked.

- -

Original Processing.org Example: Redraw
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The statements in the setup() function 
-// execute once when the program begins
-void setup() 
-{
-  size(200, 200);  // Size should be the first statement
-  stroke(255);     // Set line drawing color to white
-  noLoop();
-}
-
-float y = 100;
-
-// The statements in draw() are executed until the 
-// program is stopped. Each statement is executed in 
-// sequence and after the last line is read, the first 
-// line is executed again.
-void draw() 
-{ 
-  background(0);   // Set the background to black
-  y = y - 1; 
-  if (y < 0) { y = height; } 
-  line(0, y, width, y);  
-} 
-
-void mousePressed() 
-{
-  redraw();
-}
- - diff --git a/examples/basic/relativity.html b/examples/basic/relativity.html deleted file mode 100644 index 5cd7debcf..000000000 --- a/examples/basic/relativity.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -

Processing.js

-

Relativity

- -

Each color is perceived in relation to other colors. -The top and bottom bars each contain the same component colors, -but a different display order causes individual colors to appear differently.

- -

Original Processing.org Example: Relativity
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-color a, b, c, d, e;
-
-void setup() {
-  size(200, 200);
-  noStroke();
-  a = color(165, 167, 20);
-  b = color(77, 86, 59);
-  c = color(42, 106, 105);
-  d = color(165, 89, 20);
-  e = color(146, 150, 127);
-  noLoop();
-}
-
-void draw() {
-  drawBand(a, b, c, d, e, 0, 4);
-  drawBand(c, a, d, b, e, height/2, 4);
-}
-
-void drawBand(color v, color w, color x, color y, color z, int ypos, int barWidth) {
-  int num = 5;
-  color[] colorOrder = { v, w, x, y, z };
-  for(int i = 0; i < width; i += barWidth*num) {
-    for(int j = 0; j < num; j++) {
-      fill(colorOrder[j]);
-      rect(i+j*barWidth, ypos, barWidth, height/2);
-    }
-  }
-}
- - diff --git a/examples/basic/rotate.html b/examples/basic/rotate.html deleted file mode 100644 index a8f358b99..000000000 --- a/examples/basic/rotate.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - -

Processing.js

-

Rotate

- -

Rotating a square around the Z axis. To get the results -you expect, send the rotate function angle parameters that are -values between 0 and PI*2 (TWO_PI which is roughly 6.28). If you prefer to -think about angles as degrees (0-360), you can use the radians() -method to convert your values. For example: scale(radians(90)) -is identical to the statement scale(PI/2).

- -

Original Processing.org Example: Rotate
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup()
-{
-  size(200,200);
-  noStroke();
-  fill(255);
-  frameRate(30);
-}
-
-float angle;
-float cosine;
-float jitter;
-
-void draw()
-{
-  background(102);
-  
-  if(second()%2 == 0){
-    jitter = (random(-0.1, 0.1));
-  }
-  angle = angle + jitter;
-  cosine = cos(angle);
-  
-  translate(width/2, height/2);
-  rotate(cosine);
-  rectMode(CENTER);
-  rect(0, 0, 115, 115);   
-}
- - diff --git a/examples/basic/saturation.html b/examples/basic/saturation.html deleted file mode 100644 index f690a2831..000000000 --- a/examples/basic/saturation.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - -

Processing.js

-

Saturation

- -

Saturation is the strength or purity of the color and represents the -amount of gray in proportion to the hue. A "saturated" color is pure -and an "unsaturated" color has a large percentage of gray. -Move the cursor vertically over each bar to alter its saturation.

- -

Original Processing.org Example: Saturation
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int barWidth = 5;
-int[] saturation;
-
-void setup() 
-{
-  size(200, 200);
-  colorMode(HSB, 360, height, height); 
-  saturation = new int[width/barWidth];
-}
-
-void draw() 
-{
-  int j = 0;
-  for (int i=0; i<=(width-barWidth); i+=barWidth) {  
-    noStroke();
-    if ((mouseX > i) && (mouseX < i+barWidth)) {
-      saturation[j] = mouseY;
-    }
-    fill(i, saturation[j], height/1.5);
-    rect(i, 0, barWidth, height);  
-    j++;
-  }
-}
- - diff --git a/examples/basic/scale.html b/examples/basic/scale.html deleted file mode 100644 index 0b95f1d3d..000000000 --- a/examples/basic/scale.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - -

Processing.js

-

Scale

- -

by Denis Grutze. - -Paramenters for the scale() function are values specified -as decimal percentages. For example, the method call scale(2.0) -will increase the dimension of the shape by 200 percent. -Objects always scale from the origin.

- -

Original Processing.org Example: Scale
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float a = 0.0;
-float s = 0.0;
-
-void setup()
-{
-  size(200,200);
-  noStroke();
-  rectMode(CENTER);
-  frameRate(30);
-}
-
-void draw()
-{
-  background(102);
-  
-  a = a + 0.04;
-  s = cos(a)*2;
-  
-  translate(width/2, height/2);
-  scale(s); 
-  fill(51);
-  rect(0, 0, 50, 50); 
-  
-  translate(75, 0);
-  fill(255);
-  scale(s);
-  rect(0, 0, 50, 50);       
-}
- - diff --git a/examples/basic/setupdraw.html b/examples/basic/setupdraw.html deleted file mode 100644 index 1b70273e4..000000000 --- a/examples/basic/setupdraw.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - -

Processing.js

-

SetupDraw

- -

The draw() function creates a structure in which -to write programs that change with time.

- -

Original Processing.org Example: SetupDraw
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The statements in the setup() function 
-// execute once when the program begins
-void setup() 
-{
-  size(200, 200);  // Size should be the first statement
-  stroke(255);     // Set line drawing color to white
-  frameRate(30);
-}
-
-float y = 100;
-
-// The statements in draw() are executed until the 
-// program is stopped. Each statement is executed in 
-// sequence and after the last line is read, the first 
-// line is executed again.
-void draw() 
-{ 
-  background(0);   // Set the background to black
-  y = y - 1; 
-  if (y < 0) { y = height; } 
-  line(0, y, width, y);  
-}
- - diff --git a/examples/basic/shapeprimitives.html b/examples/basic/shapeprimitives.html deleted file mode 100644 index 3a1637a95..000000000 --- a/examples/basic/shapeprimitives.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -

Processing.js

-

ShapePrimitives

- -

The basic shape primitive functions are triangle(), -rect(), quad(), and ellipse(). Squares are made -with rect() and circles are made with -ellise(). Each of these functions requires a number -of parameters which determines their position and size.

- -

Original Processing.org Example: ShapePrimitives
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-smooth(); 
-background(0);
-noStroke();
-fill(226);
-triangle(10, 10, 10, 200, 45, 200);
-rect(45, 45, 35, 35);
-quad(105, 10, 120, 10, 120, 200, 80, 200);
-ellipse(140, 80, 40, 40);
-triangle(160, 10, 195, 200, 160, 200);
- - diff --git a/examples/basic/simplecurves.html b/examples/basic/simplecurves.html deleted file mode 100644 index cbe97d914..000000000 --- a/examples/basic/simplecurves.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - -

Processing.js

-

SimpleCurves

- -

Simple curves are drawn with simple equations. -By using numbers with values between 0 and 1 in -the equations, a series of elegant curves -are created. The numbers are then scaled to fill the screen.

- -

Original Processing.org Example: SimpleCurves
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-void setup() {
-  size(200, 200);
-  colorMode(RGB, 100);
-  background(0);
-  noFill();
-  noLoop();
-}
-
-void draw() {
-  stroke(40);
-  beginShape();
-  for(int i=0; i<width; i++) {
-   vertex(i, singraph((float)i/width)*height);
-  }
-  endShape();
-  
-  stroke(55);
-  beginShape();
-  for(int i=0; i<width; i++) {
-   vertex(i, quad((float)i/width)*height);
-  }
-  endShape();
-  
-  stroke(70);
-  beginShape();
-  for(int i=0; i<width; i++) {
-   vertex(i, quadHump((float)i/width)*height);
-  }
-  endShape();
-  
-  stroke(85);
-  beginShape();
-  for(int i=0; i<width; i++) {
-   vertex(i, hump((float)i/width)*height);
-  }
-  endShape();
-  
-  stroke(100);
-  beginShape();
-  for(int i=0; i<width; i++) {
-   vertex(i, squared((float)i/width)*height);
-  }
-  endShape();
-}
-
-float singraph(float sa) {
-  sa = (sa - 0.5) * 1.0; //scale from -1 to 1
-  sa = sin(sa*PI)/2 + 0.5;
-  return sa;
-}
-
-float quad(float sa) {
-  return sa*sa*sa*sa;
-}
-
-float quadHump(float sa) {
-  sa = (sa - 0.5); //scale from -2 to 2
-  sa = sa*sa*sa*sa * 16;
-  return sa;
-}
-
-float hump(float sa) {
-  sa = (sa - 0.5) * 2; //scale from -2 to 2
-  sa = sa*sa;
-  if(sa > 1) { sa = 1; }
-  return 1-sa;
-}
-
-float squared(float sa) {
-  sa = sa*sa;
-  return sa;
-}
- - diff --git a/examples/basic/sine.html b/examples/basic/sine.html deleted file mode 100644 index 82f4747f7..000000000 --- a/examples/basic/sine.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - -

Processing.js

-

Sine

- -

Smoothly scaling size with the sin() function.

- -

Original Processing.org Example: Sine
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float spin = 0.0; 
-float diameter = 84.0; 
-float angle;
-
-float angle_rot; 
-int rad_points = 90;
-
-void setup() 
-{
-  size(200, 200);
-  noStroke();
-  smooth();
-}
-
-void draw() 
-{ 
-  background(153);
-  
-  translate(130, 65);
-  
-  fill(255);
-  ellipse(0, 0, 16, 16);
-  
-  angle_rot = 0;
-  fill(51);
-
-  for(int i=0; i<5; i++) {
-    pushMatrix();
-    rotate(angle_rot + -45);
-    ellipse(-116, 0, diameter, diameter);
-    popMatrix();
-    angle_rot += PI*2/5;
-  }
-
-  diameter = 34 * sin(angle) + 168;
-  
-  angle += 0.02;
-  if (angle > TWO_PI) { angle = 0; }
-}
- - diff --git a/examples/basic/sinecosine.html b/examples/basic/sinecosine.html deleted file mode 100644 index 10ffc683b..000000000 --- a/examples/basic/sinecosine.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - -

Processing.js

-

SineCosine

- -

Linear movement with sin() and cos(). -Numbers between 0 and PI*2 (TWO_PI which is roughly 6.28) -are put into these functions and numbers between -1 and 1 are -returned. These values are then scaled to produce larger movements.

- -

Original Processing.org Example: SineCosine
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int i = 45;
-int j = 225; 
-float pos1 = 0; 
-float pos2 = 0; 
-float pos3 = 0; 
-float pos4 = 0;
-int sc = 40;
-
-void setup() 
-{
-  size(200, 200);
-  noStroke();
-  smooth();
-}
-
-void draw() 
-{
-  background(0);
-  
-  fill(51);
-  rect(60, 60, 80, 80);
-
-  fill(255);
-  ellipse(pos1, 36, 32, 32);
-
-  fill(153);
-  ellipse(36, pos2, 32, 32);
-
-  fill(255);
-  ellipse(pos3, 164, 32, 32);
-
-  fill(153);
-  ellipse(164, pos4, 32, 32);
-
-  i += 3;
-  j -= 3;
-
-  if(i > 405) {
-    i = 45;
-    j = 225;
-  }
-
-  float ang1 = radians(i); // convert degrees to radians
-  float ang2 = radians(j); // convert degrees to radians
-  pos1 = width/2 + (sc * cos(ang1));
-  pos2 = width/2 + (sc * sin(ang1));
-  pos3 = width/2 + (sc * cos(ang2));
-  pos4 = width/2 + (sc * sin(ang2));
-}
- - diff --git a/examples/basic/sinewave.html b/examples/basic/sinewave.html deleted file mode 100644 index 74115d3dc..000000000 --- a/examples/basic/sinewave.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - - -

Processing.js

-

SineWave

- -

by Daniel Shiffman. - -Render a simple sine wave.

- -

Original Processing.org Example: SineWave
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int xspacing = 8;   // How far apart should each horizontal location be spaced
-int w;              // Width of entire wave
-
-float theta = 0.0;       // Start angle at 0
-float amplitude = 75.0;  // Height of wave
-float period = 500.0;    // How many pixels before the wave repeats
-float dx;                 // Value for incrementing X, to be calculated as a function of period and xspacing
-float[] yvalues;          // Using an array to store height values for the wave (not entirely necessary)
-
-void setup() {
-  size(200,200);
-  frameRate(30);
-  colorMode(RGB,255,255,255,100);
-  smooth();
-  w = width+16;
-  dx = (TWO_PI / period) * xspacing;
-  yvalues = new float[w/xspacing];
-}
-
-void draw() {
-  background(0);
-  calcWave();
-  renderWave();
-
-}
-
-void calcWave() {
-  // Increment theta (try different values for 'angular velocity' here
-  theta += 0.02;
-
-  // For every x value, calculate a y value with sine function
-  float x = theta;
-  for (int i = 0; i < yvalues.length; i++) {
-    yvalues[i] = sin(x)*amplitude;
-    x+=dx;
-  }
-}
-
-void renderWave() {
-  // A simple way to draw the wave with an ellipse at each location
-  for (int x = 0; x < yvalues.length; x++) {
-    noStroke();
-    fill(255,50);
-    ellipseMode(CENTER);
-    ellipse(x*xspacing,width/2+yvalues[x],16,16);
-  }
-}
- - diff --git a/examples/basic/sprite.html b/examples/basic/sprite.html deleted file mode 100644 index 139a02ab6..000000000 --- a/examples/basic/sprite.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - -

Processing.js

-

Sprite

- -

by James Patterson. - -Demonstrates loading and displaying a transparent GIF image. - -Created 27 January 2003.

- -

Original Processing.org Example: Sprite
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-
-/* @pjs preload="data/teddy.gif"; */
-
-PImage teddy;
-
-float xpos;
-float ypos;
-float drag = 30.0;
-
-void setup() 
-{
-  size(200,200);
-  teddy = loadImage("data/teddy.gif");
-  xpos = width/2;
-  ypos = height/2;
-  frameRate(60);
-}
-
-void draw() 
-{ 
-  background(102);
-  
-  float difx = mouseX - xpos-teddy.width/2;
-  if(abs(difx) > 1.0) {
-    xpos = xpos + difx/drag;
-    xpos = constrain(xpos, 0, width-teddy.width);
-  }  
-  
-  float dify = mouseY - ypos-teddy.height/2;
-  if(abs(dify) > 1.0) {
-    ypos = ypos + dify/drag;
-    ypos = constrain(ypos, 0, height-teddy.height);
-  }  
-  
-  // Display the sprite at the position xpos, ypos
-  image(teddy, xpos, ypos);
-}
- - diff --git a/examples/basic/statementscomments.html b/examples/basic/statementscomments.html deleted file mode 100644 index 9e7c0bbc6..000000000 --- a/examples/basic/statementscomments.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -

Processing.js

-

StatementsComments

- -

Statements are the elements that make up programs. -The ";" (semi-colon) symbol is used to end statements. -It is called the "statement terminator." -Comments are used for making notes to help people better understand programs. -A comment begins with two forward slashes ("//").

- -

Original Processing.org Example: StatementsComments
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-// The size function is a statement that tells the computer 
-// how large to make the window.
-// Each function statement has zero or more parameters. 
-// Parameters are data passed into the function
-// and used as values for specifying what the computer will do.
-size(200, 200);
-
-// The background function is a statement that tells the computer
-// which color to make the background of the window 
-background(102);
- - diff --git a/examples/basic/storinginput.html b/examples/basic/storinginput.html deleted file mode 100644 index 53c5ea1b4..000000000 --- a/examples/basic/storinginput.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -

Processing.js

-

StoringInput

- -

Move the mouse across the screen to change the position -of the circles. The positions of the mouse are recorded -into an array and played back every frame. Between each -frame, the newest value are added to the end of each array -and the oldest value is deleted.

- -

Original Processing.org Example: StoringInput
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int num = 60;
-float mx[] = new float[num];
-float my[] = new float[num];
-
-void setup() 
-{
-  size(200, 200);
-  smooth();
-  noStroke();
-  fill(255, 153); 
-}
-
-void draw() 
-{
-  background(51); 
-  
-  // Reads throught the entire array
-  // and shifts the values to the left
-  for(int i=1; i<num; i++) {
-    mx[i-1] = mx[i];
-    my[i-1] = my[i];
-  } 
-  // Add the new values to the end of the array
-  mx[num-1] = mouseX;
-  my[num-1] = mouseY;
-  
-  for(int i=0; i<num; i++) {
-    ellipse(mx[i], my[i], i/2, i/2);
-  }
-}
- - diff --git a/examples/basic/translate.html b/examples/basic/translate.html deleted file mode 100644 index af23df6e2..000000000 --- a/examples/basic/translate.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - -

Processing.js

-

Translate

- -

The translate() function allows objects to be moved -to any location within the window. The first parameter -sets the x-axis offset and the second parameter sets the -y-axis offset.

- -

Original Processing.org Example: Translate
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-float x, y;
-float s = 40.0;
-
-void setup() 
-{
-  size(200,200);
-  noStroke();
-  frameRate(30);
-}
-
-void draw() 
-{
-  background(102);
-  
-  x = x + 0.8;
-  
-  if (x > width + s) {
-    x = -s;
-  } 
-  
-  translate(x, height/2-s/2);
-  fill(255);
-  rect(-s/2, -s/2, s, s);
-  
-  // Transforms accumulate.
-  // Notice how this rect moves twice
-  // as fast as the other, but it has
-  // the same parameter for the x-axis value
-  translate(x, s);
-  fill(0);
-  rect(-s/2, -s/2, s, s);
-}
- - diff --git a/examples/basic/transparency.html b/examples/basic/transparency.html deleted file mode 100644 index 0a0b08f33..000000000 --- a/examples/basic/transparency.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - -

Processing.js

-

Transparency

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. -F1LT3R

- -

Move the pointer left and right across the image to change -its position. This program overlays one image over another -by modifying the alpha value of the image with the tint() function.

- -

Original Processing.org Example: Transparency
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-
-/* @pjs preload="data/construct.jpg,data/wash.jpg"; */
-
-PImage a, b;
-float offset;
-
-void setup() 
-{
-  size(200, 200);
-  a = loadImage("construct.jpg");  // Load an image into the program 
-  b = loadImage("wash.jpg");   // Load an image into the program 
-  frameRate(60);
-}
-
-void draw() 
-{ 
-  image(a, 0, 0);
-  float offsetTarget = map(mouseX, 0, width, -b.width/2 - width/2, 0);
-  offset += (offsetTarget-offset)*0.05; 
-  tint(255, 153);
-  image(b, offset, 20);
-}
- - diff --git a/examples/basic/triangleflower.html b/examples/basic/triangleflower.html deleted file mode 100644 index 4407887cb..000000000 --- a/examples/basic/triangleflower.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -

Processing.js

-

TriangleFlower

- -

By Ira Greenberg - -Using rotate() and triangle() -functions generate a pretty -flower. Uncomment the line -// rotate(rot+=radians(spin)); -in the triBlur() function for -a nice variation.

- -

Original Processing.org Example: TriangleFlower
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-Point[]p = new Point[3];
-float shift = 1.0;
-float fade = 0;
-float fillCol = 0;
-float rot = 0;
-float spin = 0;
-
-void setup(){
-  size(200, 200);
-  background(0);
-  smooth();
-  fade = 255.0/(width/2.0/shift);
-  spin = 360.0/(width/2.0/shift);
-  p[0] = new Point(-width/2, height/2);
-  p[1] = new Point(width/2, height/2);
-  p[2] = new Point(0, -height/2);
-  noStroke();
-  translate(width/2, height/2);
-  triBlur();
-}
-
-void triBlur(){
-  fill(fillCol);
-  fillCol+=fade;
-  rotate(spin);
-  // another interesting variation: uncomment the line below 
-  // rotate(rot+=radians(spin));
-  triangle(p[0].x+=shift, p[0].y-=shift/2, p[1].x-=shift, p[1].y-=shift/2, p[2].x, p[2].y+=shift); 
-  if(p[0].x<0){
-    // recursive call
-    triBlur();
-  }
-}
- - diff --git a/examples/basic/trianglestrip.html b/examples/basic/trianglestrip.html deleted file mode 100644 index 115d16a7b..000000000 --- a/examples/basic/trianglestrip.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - -

Processing.js

-

TriangleStrip

- -

By Ira Greenberg - -Generate a closed ring using vertex() -function and beginShape(TRIANGLE_STRIP) -mode. outerRad and innerRad variables -control ring's outer/inner radii respectively. -Trig functions generate ring.

- -

Original Processing.org Example: TriangleStrip
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(204);
-smooth();
-
-int x = width/2;
-int y = height/2;
-int outerRad = 80;
-int innerRad = 50;
-float px = 0, py = 0, angle = 0;
-float pts = 36;
-float rot = 360.0/pts;
-
-beginShape(TRIANGLE_STRIP); 
-for (int i=0; i<pts; i++) {
-  px = x+cos(radians(angle))*outerRad;
-  py = y+sin(radians(angle))*outerRad;
-  angle+=rot;
-  vertex(px, py);
-  px = x+cos(radians(angle))*innerRad;
-  py = y+sin(radians(angle))*innerRad;
-  vertex(px, py); 
-  angle+=rot;
-}
-endShape();
- - diff --git a/examples/basic/truefalse.html b/examples/basic/truefalse.html deleted file mode 100644 index 1d6d62c32..000000000 --- a/examples/basic/truefalse.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - -

Processing.js

-

TrueFalse

- -

Boolean data is one bit of information. True or false. -It is common to use Booleans with control statements to -determine the flow of a program. In this example, when the -boolean value "x" is true, vertical black lines are drawn and when -the boolean value "x" is false, horizontal gray lines are drawn.

- -

Original Processing.org Example: TrueFalse
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-boolean x = false;
-
-size(200, 200);
-background(0);
-stroke(0);
-
-for (int i = 1; i < width; i += 2) 
-{
-  if (i < width/2) {
-    x = true;
-  } else {
-    x = false;
-  }
-  
-  if (x) {
-    stroke(255);
-    line(i, 1, i, height-1);
-  }
-  
-  if (!x) {
-    stroke(126);
-    line(width/2 , i, width-2, i);
-  }
-}
- - diff --git a/examples/basic/variables.html b/examples/basic/variables.html deleted file mode 100644 index 0d967aa72..000000000 --- a/examples/basic/variables.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - -

Processing.js

-

Variables

- -

Variables are used for storing values. In this example, changing -the values of variables 'a' and 'b' significantly change the composition.

- -

Original Processing.org Example: Variables
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-stroke(153);
-
-int a = 20;
-int b = 50;
-int c = a*8;
-int d = a*9;
-int e = b-a;
-int f = b*2;
-int g = f+e;
-
-line(a, f, b, g);
-line(b, e, b, g);
-line(b, e, d, c);
-line(a, e, d-e, c);
- - diff --git a/examples/basic/variablescope.html b/examples/basic/variablescope.html deleted file mode 100644 index 08ed0eda3..000000000 --- a/examples/basic/variablescope.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - - -

Processing.js

-

VariableScope

- -

Variables may either have a global or local "scope". -For example, variables declared within either the -setup() or loop() functions may be only used in these -functions. Global variables, variables declared outside -of setup() and loop(), may be used anywhere within the program. -If a local variable is declared with the same name as a -global variable, the program will use the local variable to make -its calculations within the current scope. Variables may be localized -within classes, functions, and iterative statements.

- -

Original Processing.org Example: VariableScope
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-int a = 20;  // Create a global variable "a"
-
-void setup() 
-{
-  size(200, 200);
-  background(51);
-  stroke(255);
-  noLoop();
-}
-
-void draw()
-{
-  // Draw a line using the global variable "a"
-  line(a, 0, a, height);
-  
-  // Create a new variable "a" local to the for() statement 
-  for(int a=50; a<80; a += 2) {
-    line(a, 0, a, height);
-  }
-  
-  // Create a new variable "a" local to the loop() method
-  int a = 100;
-  // Draw a line using the new local variable "a"
-  line(a, 0, a, height);  
-  
-  // Make a call to the custom function drawAnotherLine()
-  drawAnotherLine();
-  
-  // Make a call to the custom function setYetAnotherLine()
-  drawYetAnotherLine();
-}
-
-void drawAnotherLine() 
-{
-  // Create a new variable "a" local to this method
-  int a = 185;
-  // Draw a line using the local variable "a"
-  line(a, 0, a, height);
-}
-
-void drawYetAnotherLine() 
-{
-  // Because no new local variable "a" is set, 
-  // this lines draws using the original global
-  // variable "a" which is set to the value 20.
-  line(a+2, 0, a+2, height);
-}
- - diff --git a/examples/basic/vertices.html b/examples/basic/vertices.html deleted file mode 100644 index b3605f952..000000000 --- a/examples/basic/vertices.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -

Processing.js

-

Vertices

- -

The beginShape() function begins recording vertices -for a shape and endShape() stops recording. -A vertex is a location in space specified by X, Y, -and sometimes Z coordinates. After calling the beginShape() function, -a series of vertex() functions must follow. -To stop drawing the shape, call the endShape() functions.

- -

Original Processing.org Example: Vertices
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(0);
-noFill();
-
-stroke(102);
-beginShape();
-curveVertex(168, 182);
-curveVertex(168, 182);
-curveVertex(136, 38);
-curveVertex(42, 34);
-curveVertex(64, 200);
-curveVertex(64, 200);
-endShape();
-
-stroke(51);
-beginShape(LINES);
-vertex(60, 40);
-vertex(160, 10);
-vertex(170, 150);
-vertex(60, 150);
-endShape();
-
-stroke(126);
-beginShape();
-vertex(60, 40);
-bezierVertex(160, 10, 170, 150, 60, 150);
-endShape();
-
-stroke(255);
-beginShape(POINTS);
-vertex(60, 40);
-vertex(160, 10);
-vertex(170, 150);
-vertex(60, 150);
-endShape();
- - diff --git a/examples/basic/wavegradient.html b/examples/basic/wavegradient.html deleted file mode 100644 index 376acf2c6..000000000 --- a/examples/basic/wavegradient.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -

Processing.js

-

WaveGradient

- -

by Ira Greenberg. - -Generate a gradient along a sin() wave.

- -

Original Processing.org Example: WaveGradient
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(200,200,200);
-float angle = 0;
-float px = 0, py = 0;
-float amplitude = 30;
-float frequency = 0;
-float fillGap = 2.5;
-color c;
-
-for (int i =- 75; i < height+75; i++){
-  // reset angle to 0, so waves stack properly
-  angle = 0;
-  // increasing frequency causes more gaps
-  frequency+=.006;
-  for (float j=0; j<width+75; j++){
-    py = i+sin(radians(angle))*amplitude;
-    angle+=frequency;
-    c =  color(abs(py-i)*255/amplitude, 255-abs(py-i)*255/amplitude, j*(255.0/(width+50)));
-    // hack to fill gaps. Raise value of fillGap
-    // if you increase frequency
-    for (int filler = 0; filler<fillGap; filler++){
-      set(int(j-filler), int(py)-filler, c);
-      set(int(j), int(py), c);
-      set(int(j+filler), int(py)+filler, c);
-    }
-  }
-}
- - diff --git a/examples/basic/widthheight.html b/examples/basic/widthheight.html deleted file mode 100644 index 93785e6ad..000000000 --- a/examples/basic/widthheight.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - -

Processing.js

-

WidthHeight

- -

The 'width' and 'height' variables contain the width and height -of the display window as defined in the size() function.

- -

Original Processing.org Example: WidthHeight
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(127);
-noStroke();
-for(int i=0; i<height; i+=20) {
-  fill(0);
-  rect(0, i, width, 10);
-  fill(255);
-  rect(i, 0, 10, height);
-}
- - diff --git a/examples/basic/words.html b/examples/basic/words.html deleted file mode 100644 index 6d2816544..000000000 --- a/examples/basic/words.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - -

Processing.js

-

Words

- -

The text() function is used for writing words to the screen.

- -

Original Processing.org Example: Words
-

-
- -
// All Examples Written by Casey Reas and Ben Fry
-// unless otherwise stated.
-size(200, 200);
-background(102);
-
-// Load the font. Fonts are located within the 
-// main Processing directory/folder and they
-// must be placed within the data directory
-// of your sketch for them to load
-PFont fontA = loadFont("Arial");
-
-// Set the font and its size (in units of pixels)
-textFont(fontA, 32);
-
-int x = 30;
-
-// Use fill() to change the value or color of the text
-fill(0);
-text("ichi", x, 60);
-fill(51);
-text("ni", x, 95);
-fill(204);
-text("san", x, 130);
-fill(255);
-text("shi", x, 165);
- - diff --git a/examples/custom/data/dirt.jpg b/examples/custom/data/dirt.jpg deleted file mode 100644 index 3eed597438d4a93b396025f70ef6dc17b609d2c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34606 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 YE$2|7-zr82T#!$Gnf3Ihf#`q#*;+;pcK`qY diff --git a/examples/custom/data/pollockShimmering.gif b/examples/custom/data/pollockShimmering.gif deleted file mode 100644 index 9ccdb6f17558ee9bd28773fe6b2bb5e0454243b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2451 zcmd6m`BxKX7snH1mo4l;6atD-Q3GxPwX%qWfNTZ`2nYxm5MQIB#)TSDAW_t?#X%GY zkUD_X0c#zowj+v+OZyH8I4DQQ4Mto#sI{Z5&Kv)W_j^9~d%pKM&w0-M;XdIJtHc4B zpE;JCzd0N`&bJbInu~>YcAi49SQu-^kqbE)Vmon=NG=!4Vtn6$+~`ScMx7!3+vf z;i#O#BqS!M@K}b7B~T@eDJWD$;VKqa(u9(w6bz|kNfkq>SW2Z*sg-Iq1gT+22ZI0% z0|1DCAOyi6fEhJdjYM$sruqpShO5HNaLm7Qih8sTzC`VUj%@BEy)X`n?Kw0-KIx4KPC75*dG8o^^jcYJ zHP|{M3b3ECd^d+1a(Jk2$pO>l(#kWd>%7B9ko}W-%WNa{f!l9aM`(0O7euC^`?GGC z`(;JdK5(5OZHc#ZRK1f;+;*B3|H0Uz(r5JzO{?t7XA`c`oW$evYJ`H&RR_)2xGe;O z4>-(p_Dw}Jyl3kVIWEW@fCM2cd5iKF=1FVD|Lf5raG9GwfR)#FlvwfvS+fzda$wm_r!;rI^PUE+wGjWu6R-}9%n3=g)LJAjAsR?GUr_?rg$!UacU z{SmW%9O#eq`(1W#b-&Xw(ikX+1#>zuaTjsQmXSMltOPh}TG^(0&tm`YbQTLlY z|8>QU*}Dp=ZifuNuEtXWHtC19*1q{Ub9ZDevZ1nVv~$xs{%mf|~xUViT{`MR)j`+nXdG0NREIn?#h&8GAZPrauxz=cxT^i07m zBdJ@DFvPAn^?7&T@SM=D#Tah@)He*H4a$#{zKeTbDBnrjE;c1Mgpp-tp7Lsc#E=mpLSQkZVnKj6|txSMN(mwiWaZ5;rPEg$8i zbeuJEvh(5{5qI8Bo42j*)yP=LlCFO4v%;3OX|K{F@OSuZ)Fl-aYusBYwx_t8a_u?|nAs@u&XFzka-G>pF3`=il+2zsa6&-uLC7b)1|E zNwT9I->h)@T+dk%($C$M8k*y?=vG8baeQ^FXY;%$tu&#dRj8lTV)$_w`s!4Q$a<~W$wvm=*R zpL%l4<+>)OsJ{JlzOiD8i4+%4t3GOR)jRYr2G>N(bj~xfSJ~d`6ALRVyk^Xr>yv!T z?1#eUy4TNVh6db@ulKKM8}W=@$G?+2^iJP7(ma3nr#l%o_evrb`K+nxyqo*of)n@7 zv?lDmR6FRsdyV!{#F&K=OW@-`=eG3HCG>L$=P^fIB~S_Z2gx! gMM+>vqy8fVC5-#kJxGDNceD;gnJ&(oV#itfKc~5#761SM diff --git a/examples/custom/fullscreen.html b/examples/custom/fullscreen.html deleted file mode 100644 index b55a3ef57..000000000 --- a/examples/custom/fullscreen.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - Full Screen Sketch with screenWidth and screenHeight - - - - - - - diff --git a/examples/custom/index.html b/examples/custom/index.html deleted file mode 100644 index 7be7ac66d..000000000 --- a/examples/custom/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - -

Processing.js

-

Custom Demos

- -

Demonstrations built from scratch or found in the wild.

- -

Processing.org Topic Demos

- -


Custom Built

Snake
- - Molten Bar Chart
-


Found "In The Wild"

Line Intersection
- - Substrate
-

- - \ No newline at end of file diff --git a/examples/custom/intersect.html b/examples/custom/intersect.html deleted file mode 100644 index f06a88c1f..000000000 --- a/examples/custom/intersect.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - -

Processing.js

-

Line Intersections

- -

Move mouse to view line intersections.

- -

Original Example: Line Intersections
-

-
- -
int DONT_INTERSECT = 0;
-int COLLINEAR = 1;
-int DO_INTERSECT = 2;
-
-float x =0, y=0;
-
-void setup(){
-  size(320,320);
-  fill(255,0,0);
-}
-
-void draw(){
-
-  int intersected;
-
-  background(255);
-  
-  // lignes
-  stroke(0);
-  
-  // ligne fixe
-  line(20,height/2, width-20, (height/2)-20);
-  
-  // ligne en mouvement
-  line(10,10,mouseX, mouseY);
-  
-  intersected = intersect(20, height/2, width, (height/2)-20, 10, 10, mouseX, mouseY);
-  
-  // dessiner le point d'intersection
-  noStroke();
-  if (intersected == DO_INTERSECT) ellipse(x, y, 5, 5);
-
-}
-
-
-int intersect(float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4){
-
-  float a1, a2, b1, b2, c1, c2;
-  float r1, r2 , r3, r4;
-  float denom, offset, num;
-
-  // Compute a1, b1, c1, where line joining points 1 and 2
-  // is "a1 x + b1 y + c1 = 0".
-  a1 = y2 - y1;
-  b1 = x1 - x2;
-  c1 = (x2 * y1) - (x1 * y2);
-
-  // Compute r3 and r4.
-  r3 = ((a1 * x3) + (b1 * y3) + c1);
-  r4 = ((a1 * x4) + (b1 * y4) + c1);
-
-  // Check signs of r3 and r4. If both point 3 and point 4 lie on
-  // same side of line 1, the line segments do not intersect.
-  if ((r3 != 0) && (r4 != 0) && same_sign(r3, r4)){
-    return DONT_INTERSECT;
-  }
-
-  // Compute a2, b2, c2
-  a2 = y4 - y3;
-  b2 = x3 - x4;
-  c2 = (x4 * y3) - (x3 * y4);
-
-  // Compute r1 and r2
-  r1 = (a2 * x1) + (b2 * y1) + c2;
-  r2 = (a2 * x2) + (b2 * y2) + c2;
-
-  // Check signs of r1 and r2. If both point 1 and point 2 lie
-  // on same side of second line segment, the line segments do
-  // not intersect.
-  if ((r1 != 0) && (r2 != 0) && (same_sign(r1, r2))){
-    return DONT_INTERSECT;
-  }
-
-  //Line segments intersect: compute intersection point.
-  denom = (a1 * b2) - (a2 * b1);
-
-  if (denom == 0) {
-    return COLLINEAR;
-  }
-
-  if (denom < 0){ 
-    offset = -denom / 2; 
-  } 
-  else {
-    offset = denom / 2 ;
-  }
-
-  // The denom/2 is to get rounding instead of truncating. It
-  // is added or subtracted to the numerator, depending upon the
-  // sign of the numerator.
-  num = (b1 * c2) - (b2 * c1);
-  if (num < 0){
-    x = (num - offset) / denom;
-  } 
-  else {
-    x = (num + offset) / denom;
-  }
-
-  num = (a2 * c1) - (a1 * c2);
-  if (num < 0){
-    y = ( num - offset) / denom;
-  } 
-  else {
-    y = (num + offset) / denom;
-  }
-
-  // lines_intersect
-  return DO_INTERSECT;
-}
-
-
-boolean same_sign(float a, float b){
-
-  return (( a * b) >= 0);
-}
- - diff --git a/examples/custom/molten.html b/examples/custom/molten.html deleted file mode 100644 index 25fa05022..000000000 --- a/examples/custom/molten.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - -

Processing.js

-

Molten Bar Chart

- -

A dynamically-generated bar chart. Move mouse to view dynamic pie chart.

- -

Molten Bar Chart
-

-
- -
int xspacing = 16;   // How far apart should each horizontal location be spaced
-int w;              // Width of entire wave
-int maxwaves = 4;   // total # of waves to add together
-int total = 0;
-
-float theta = 0.0f;
-float[] amplitude = new float[maxwaves];   // Height of wave
-float[] dx = new float[maxwaves];          // Value for incrementing X, to be calculated as a function of period and xspacing
-float[] yvalues;                           // Using an array to store height values for the wave (not entirely necessary)
-float[] last;
-
-int pos;
-int rel;
-int numLines;
-int idealLines;
-int idealSpacing;
-int targetX;
-
-void setup() {
-  size(600, 150);
-  //frameRate(24);
-  colorMode(RGB,255,255,255,100);
-  //background(0);
-  smooth();
-  w = width+16;
-
-  for (int i = 0; i < maxwaves; i++) {
-    amplitude[i] = random(20,30);
-    float period = random(100,300); // How many pixels before the wave repeats
-    dx[i] = (TWO_PI / period) * xspacing;
-  }
-
-  last = new float[maxwaves];
-  idealLines = numLines = int(w/xspacing);
-  idealSpacing = xspacing;
-  yvalues = new float[numLines];
-}
-
-void draw() {
-  pos = constrain(mouseX, 75, width-75);
-  rel = 1 - ((pos - 75) / (width - 150));
-  
-  //background(0);
-  fill(0, 10 + ((1 - rel) * 100));
-  rect(0, 0, width, height);
-  
-  //numLines = idealLines + ((1 - rel) * idealLines);
-  //xspacing = idealSpacing - (((1 - rel) * idealSpacing) / 2);
-  
-  calcWave();
-  renderWave();
-  renderChart();
-}
-
-void calcWave() {
-  // Increment theta (try different values for 'angular velocity' here
-  theta += 0.02;
-
-  // Set all height values to zero
-  for (int i = 0; i < numLines; i++) {
-    yvalues[i] = 0.0f;
-  }
-  
-  total = 0;
- 
-  // Accumulate wave height values
-  for (int j = 0; j < maxwaves; j++) {
-    float x = theta;
-    last[j] = 0;
-    
-    for (int i = 0; i < numLines; i++) {
-      // Every other wave is cosine instead of sine
-      int diff = j % 2 == 0 ? sin(x) : cos(x);
-      int add = diff*amplitude[j];
-      
-      last[j] += add;
-      
-      yvalues[i] += add;
-      
-      total += add;
-      
-      x+=dx[j]; // - (((1 - rel) * dx[j]) / 2);
-    }
-  }
-}
-
-void renderWave() {
-  noStroke();
-  
-  fill(254,60,0, 120 * rel);
-  beginShape();
-  vertex(0,height);
-  for (int x = 0; x < numLines; x++) {
-    vertex(x*xspacing,height/2+yvalues[x]+-5);
-    vertex((x*xspacing) + 10,height/2+yvalues[x]-5);
-  }
-  vertex(width,height);
-  endShape(CLOSE);
-  
-  fill(255,0,0, 120 * rel);
-  beginShape();
-  vertex(0,height);
-  for (int x = 0; x < numLines; x++) {
-    vertex(x*xspacing,height/2+yvalues[x]);
-    vertex((x*xspacing) + 10,height/2+yvalues[x]);
-  }
-  vertex(width,height);
-  endShape(CLOSE);
-  
-  //fill(255,0,0,255 - ((x/numLines)*200));
-  //rect(x*xspacing,height/2+yvalues[x],10,height*2);
-  // - ((1-rel) * 4)
-  
-  for (int x = 0; x < numLines; x++) {
-    fill(255,0,0,255 - ((x/numLines)*200));
-    rect(x*xspacing,height/2+yvalues[x],10,height*2);
-    // - ((1-rel) * 4)
-  }
-}
-
-void renderChart() {
-  int h = 0;
-  
-  for (int i=0; i
-
-
diff --git a/examples/custom/snake.html b/examples/custom/snake.html
deleted file mode 100644
index 93d2ada66..000000000
--- a/examples/custom/snake.html
+++ /dev/null
@@ -1,155 +0,0 @@
-
-
-
-  
-
-

Processing.js

-

Snake

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading.

- -

A snake that follows your cursor.

- -

Snake
-

-
- -
float[] x = new float[20];
-float[] y = new float[20];
-float segLength = 10;
-
-void setup() {
-  size(320, 240);
-  smooth();
-}
-
-void draw() {
-  background(226);
-  image( loadImage("dirt.jpg"), 0, 0 );
-  dragSegment(0, mouseX - 8, mouseY - 8);
-  for(int i=0; i < x.length-1; i++) {
-    dragSegment(i+1, x[i], y[i]);
-  }
-}
-
-void dragSegment(int i, float xin, float yin) {
-  float dx = xin - x[i];
-  float dy = yin - y[i];
-  float angle = atan2(dy, dx);  
-  x[i] = xin - cos(angle) * segLength;
-  y[i] = yin - sin(angle) * segLength;
-  //stroke(23, 79, 4, 220);
-  
-  pushMatrix();
-  translate(x[i], y[i]);
-  rotate(angle);
-  
-  color c;
-  
-  if ( i % 3 == 1 )
-    c = color(0, 0, 0, 255);
-  else if ( i % 3 == 2 )
-    c = color(255, 255, 0, 255);
-  else
-    c = color(255, 0, 0, 255);
-
-  stroke( c );
-  strokeWeight(10);
-  line(0, 0, segLength, 0);
-  
-  if ( i == x.length - 1 )
-  {
-    fill( c );
-    noStroke();
-    beginShape(TRIANGLES);
-    vertex(0, 5);
-    vertex(-2 * segLength, 0);
-    vertex(0, -5);
-    endShape();
-  }
-  
-  if ( i == 0 )
-  {
-   // stroke(0, 255);
-   noStroke();
-   fill(0, 255);
-   ellipse(segLength, -2, 3, 3);
-   ellipse(segLength, 2, 3, 3);
-    //point(segLength, -2);
-    //point(segLength, 2);
-  }
-  
-  popMatrix();
-}
- - diff --git a/examples/custom/substrate.html b/examples/custom/substrate.html deleted file mode 100644 index 8b63f9234..000000000 --- a/examples/custom/substrate.html +++ /dev/null @@ -1,571 +0,0 @@ - - - - - -

Processing.js

-

Substrate

- -

This code was updated from the Java source to work with Processing.js asynchronous image loading. -F1LT3R

- -

An artistic watercolor visualization by J. Tarbell.

- -

Original Example: Substrate
-

-
- -
// Substrate Watercolor
-// j.tarbell   June, 2004
-// Albuquerque, New Mexico
-// complexification.net
-
-// Processing 0085 Beta syntax update
-// j.tarbell   April, 2005
-
-int dimx = 250;
-int dimy = 250;
-int num = 0;
-int maxnum = 100;
-
-// grid of cracks
-int[] cgrid;
-Crack[] cracks;
-
-// color parameters
-int maxpal = 512;
-int numpal = 0;
-color[] goodcolor = new color[maxpal];
-
-// sand painters
-SandPainter[] sands;
-
-// MAIN METHODS ---------------------------------------------
-
-void setup() {
-  size(250,250,P3D);
-
-  background(255);
-  takecolor("pollockShimmering.gif");
-  
-  cgrid = new int[dimx*dimy];
-  cracks = new Crack[maxnum];
-  
-  begin();  
-}
-
-void draw() {
-  // crack all cracks
-  for (int n=0;n1000)) {
-      px = int(random(dimx));
-      py = int(random(dimy));
-      if (cgrid[py*dimx+px]<10000) {
-        found=true;
-      }
-    }
-    
-    if (found) {
-      // start crack
-      int a = cgrid[py*dimx+px];
-      if (random(100)<50) {
-        a-=90+int(random(-2,2.1));
-      } else {
-        a+=90+int(random(-2,2.1));
-      }
-      startCrack(px,py,a);
-    } else {
-      //println("timeout: "+timeout);
-    }
-  }
-   
-  void startCrack(int X, int Y, int T) {
-    x=X;
-    y=Y;
-    t=T;//%360;
-    x+=0.61*cos(t*PI/180);
-    y+=0.61*sin(t*PI/180);  
-  }
-             
-  void move() {
-    // continue cracking
-    x+=0.42*cos(t*PI/180);
-    y+=0.42*sin(t*PI/180); 
-    
-    // bound check
-    float z = 0.33;
-    int cx = int(x+random(-z,z));  // add fuzz
-    int cy = int(y+random(-z,z));
-    
-    // draw sand painter
-    regionColor();
-    
-    // draw black crack
-    stroke(0,85);
-    point(x+random(-z,z),y+random(-z,z));
-    
-    
-    if ((cx>=0) && (cx=0) && (cy10000) || (abs(cgrid[cy*dimx+cx]-t)<5)) {
-        // continue cracking
-        cgrid[cy*dimx+cx]=int(t);
-      } else if (abs(cgrid[cy*dimx+cx]-t)>2) {
-        // crack encountered (not self), stop cracking
-        findStart();
-        //makeCrack();
-      }
-    } else {
-      // out of bounds, stop cracking
-      findStart();
-      //makeCrack();
-    }
-  }
-  
-  void regionColor() {
-    // start checking one step away
-    float rx=x;
-    float ry=y;
-    boolean openspace=true;
-    
-    // find extents of open space
-    while (openspace) {
-      // move perpendicular to crack
-      rx+=0.81*sin(t*PI/180);
-      ry-=0.81*cos(t*PI/180);
-      int cx = int(rx);
-      int cy = int(ry);
-      if ((cx>=0) && (cx=0) && (cy10000) {
-          // space is open
-        } else {
-          openspace=false;
-        }
-      } else {
-        openspace=false;
-      }
-    }
-    // draw sand painter
-    sp.render(rx,ry,x,y);
-  }
-}
-
-
-class SandPainter {
-
-  color c;
-  float g;
-
-  SandPainter() {
-
-    c = somecolor();
-    g = random(0.01,0.1);
-  }
-  void render(float x, float y, float ox, float oy) {
-    // modulate gain
-    g+=random(-0.050,0.050);
-    float maxg = 1.0;
-    if (g<0) g=0;
-    if (g>maxg) g=maxg;
-    
-    // calculate grains by distance
-    //int grains = int(sqrt((ox-x)*(ox-x)+(oy-y)*(oy-y)));
-    int grains = 64;
-
-    // lay down grains of sand (transparent pixels)
-    float w = g/(grains-1);
-    for (int i=0;i
-
-
diff --git a/examples/js/3d.html b/examples/js/3d.html
deleted file mode 100644
index aa3f9ec11..000000000
--- a/examples/js/3d.html
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-  
-  
-

Processing.js

-

Advanced processing.js via JavaScript

- -

Processing.js Cube

-

Note: runs via a web server or requres local files access in the web browser settings.

-

Converted to the JavaScript language from the Processing code
-Original souce code : TexturedCube by Dave Bollinger.
- -

- - - -
- -

-
-
-
diff --git a/examples/js/compile-lib.html b/examples/js/compile-lib.html
deleted file mode 100644
index 06a510632..000000000
--- a/examples/js/compile-lib.html
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-  
-  
-

Processing.js

-

Compiling Java code to be used as a library for the web page sketches.

- -

Let's say we have the following library:

-

-

-public class TheLib {
-  public String greet() {
-    return "Hello, world";
-  }
-}
- -

And the sketch to use it with:

-
background(0);
-TheLib lib = new TheLib();
-String s = lib.greet();
-text(s,10,40);
- -

Load the library code as a string and call the Processing.compile method. The returned object is a Processing.Sketch object. -Its sourceCode property returns the code for the "attach" function.

-
var attachCode = Processing.compile(libraryCode).sourceCode;
- -

This code can be used to call in the form attachFunction(Processing.prototype). -That will let all library classes and methods be registered with the default scope.

- -

So the library source code will look like:

-

-  
-

The code above that can be used as a stanalone js-file and be loaded in the <head> after the processing.js.

-

The sketch execution results:

-

-

- - - - \ No newline at end of file diff --git a/examples/js/imagecache-js.html b/examples/js/imagecache-js.html deleted file mode 100644 index 6d38c54a7..000000000 --- a/examples/js/imagecache-js.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - -

Processing.js

-

Adding existing images to a Sketch's ImageCache

- -
-

Example 1. Loading an image from the DOM

-

Sometimes a developer wants to share images between a Processing sketch and the web page in which it lives. This might happen in a complex page where images are loaded at different times, and a sketch runs after the images are loaded by the web page itself. In such cases, it is helpful to be able to pass a preloaded image into the sketch's image cache, so it won't get loaded a second time before the sketch starts. The following example demonstrates this, by loading an image into the DOM by means of the img element, and then creating a Processing Sketch object in JavaScript that uses this image, without doing any other preloading.

-

Image Element

-

Processing Sketch in Canvas

- - -

-
-
- -
-

Example 2. Loading an image using only JavaScript

-

This example is similar to Example 1, but bypasses the DOM altogether and creates an image using JavaScript. This technique is useful when you want to background load images, but not display them yet.

- - - -

-
-
- - diff --git a/examples/js/instancelib.js b/examples/js/instancelib.js deleted file mode 100644 index 83f7499a5..000000000 --- a/examples/js/instancelib.js +++ /dev/null @@ -1,30 +0,0 @@ -// Instance libraries are useful in case if there is a need -// in knowing the processing instance - -// Registering browser utility library -Processing.registerLibrary("browser", { - attach: function(p) { - p.clientWidth = 0; - p.clientHeight = 0; - - p.windowResized = function() { }; - - function updateSize() { - p.clientWidth = document.body.clientWidth; - p.clientHeight = document.body.clientHeight; - } - - p.externals.onresize = function() { - updateSize(); - p.windowResized(); - }; - - window.addEventListener("resize", p.externals.onresize, false); - updateSize(); - }, - detach: function(p) { - window.removeEventListener("resize", p.externals.onresize, false); - delete p.externals.onresize; - }, - exports : [ "clientWidth", "clientHeight", "windowResized" ] -}); diff --git a/examples/js/libraries.html b/examples/js/libraries.html deleted file mode 100644 index ae02ac859..000000000 --- a/examples/js/libraries.html +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - -

Processing.js

-

processing.js libraries

- -

Static and Instance Libraries

- -

- - -

- -

-
-
-
diff --git a/examples/js/pjs.png b/examples/js/pjs.png
deleted file mode 100644
index 8c3dbe3f96a1c59de38b207ad035de00d8aeaab9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 31193
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 IM6N<$f(WJ4Z2$lO diff --git a/examples/js/simple.html b/examples/js/simple.html deleted file mode 100644 index d85514870..000000000 --- a/examples/js/simple.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - -

Processing.js

-

Simple processing.js via JavaScript

- -

Clock

- -

- -

- - - -
- -

-
-
-
diff --git a/examples/js/simpler.html b/examples/js/simpler.html
deleted file mode 100644
index d5e089d61..000000000
--- a/examples/js/simpler.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-  
-  
-

Processing.js

-

Simple processing.js via JavaScript

- -

Clock

- -

- -

- - - -
- -

-
-
-
diff --git a/examples/js/sketch-event-hooks.html b/examples/js/sketch-event-hooks.html
deleted file mode 100644
index 9b46a502a..000000000
--- a/examples/js/sketch-event-hooks.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-  
-  
-

Processing.js

-

Sketch Event Hooks via JavaScript

- -

Clock

- -

- -

-
- - - - -
-
Sketch Events:
- - - -

-
-
-
diff --git a/examples/js/staticlib.js b/examples/js/staticlib.js
deleted file mode 100644
index 219602b06..000000000
--- a/examples/js/staticlib.js
+++ /dev/null
@@ -1,24 +0,0 @@
-// Simple classes and functions can be declared in a static library
-
-// Registering complex numbers library
-Processing.registerLibrary("complex", {
-  init: function(defaultScope) {
-    function ComplexNumber(re, im) {
-      this.re = re;
-      this.im = im || 0;
-    }
-    ComplexNumber.prototype.add = function(other) {
-      return new ComplexNumber(this.re + other.re, this.im + other.im);
-    };
-    ComplexNumber.prototype.mul = function(other) {
-      return new ComplexNumber(this.re * other.re - this.im * other.im, 
-        this.im * other.re + this.re * other.im);
-    };
-    // etc
-    ComplexNumber.prototype.toString = function(other) {
-      return this.re + " " + this.im + "i";
-    };
-    // attaching class to the default scope
-    defaultScope.ComplexNumber = ComplexNumber;
-  }
-});
diff --git a/examples/screens/Picture 14.png b/examples/screens/Picture 14.png
deleted file mode 100644
index 018cfffdd9d856ed3e5dd2ae7b9b06d2872f4ac1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 128722
zcmV*9Kybf_P)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE
zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x
z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+
z
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
Z{|{XhvzDq9cB=pY002ovPDHLkV1kOxS)>2}

diff --git a/examples/screens/Picture 15.png b/examples/screens/Picture 15.png
deleted file mode 100644
index 7aed39afc1894d72b565806af721fd85705e1261..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 198938
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�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	IXO}d)
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

diff --git a/examples/screens/Picture 18.png b/examples/screens/Picture 18.png
deleted file mode 100644
index f9511eaa859440316341762e252f1f38cacaa2b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 18686
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

diff --git a/examples/screens/Picture 21.png b/examples/screens/Picture 21.png
deleted file mode 100644
index 8b1b864ae2bed51a81555f12627d381bd5b1b551..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9273
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
Gi}@cyG%=(A

diff --git a/examples/screens/Picture 22.png b/examples/screens/Picture 22.png
deleted file mode 100644
index 4b05cc95f23049b8036552ba472af21dba0b37b6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 60573
zcmV)OK(@b$P)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE
zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x
z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+
z
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
1! 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 S*v~5f0000 diff --git a/examples/screens/Picture 23.png b/examples/screens/Picture 23.png deleted file mode 100644 index 36b61dd319c40232c3b5203ee1ce56239c88bda1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4828 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 PM2IJkm1T;gjr{)y?|X^Y diff --git a/examples/screens/Picture 26.png b/examples/screens/Picture 26.png deleted file mode 100644 index ac93be0814f91c22ffc9df47f276858f5ca44956..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5222 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 diff --git a/examples/screens/Picture 27.png b/examples/screens/Picture 27.png deleted file mode 100644 index d52e117308e99a9553b4962676e116477349bb9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4307 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 diff --git a/examples/screens/Picture 28.png b/examples/screens/Picture 28.png deleted file mode 100644 index 69b07e10d9c9a3f5a3eda11b1b1a165cb7651976..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4791 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 IidG^20noW2-2eap diff --git a/examples/screens/Picture 29.png b/examples/screens/Picture 29.png deleted file mode 100644 index accb0f21fba1b5f0d3f6e981e8298e68becd887a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8930 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 diff --git a/examples/screens/Picture 32.png b/examples/screens/Picture 32.png deleted file mode 100644 index 31f510413f856911c005a5eb9388cdfeb4197721..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5786 zcmV;L7G>#)P)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+ z 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 Y1E5%fc$}Qyi~s-t07*qoM6N<$f??t|G5`Po diff --git a/examples/screens/Picture 33.png b/examples/screens/Picture 33.png deleted file mode 100644 index cb27def82bf874b6447154f6901c7b5b93516eff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6342 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 XiJ-O*MSoxaCjdEVWvN;THmG-eHU8lQ{n+QW zjskkeP6Rt%D@cE>yHD(?iSf(Rry_M<$3)3LnEV%-G(S^Y;900-@&9^5S0-O`rM%0)(aLq-_Pz5Sho^7o*#`mw5>E%L1?56an2%3KCo24zMc;c@cY0SY`JbkD-ue@t+m2-A!B z680v2$Xaz!?L)$)yfM$wH0Br<`G1`IPe#q1O88fnUY1ch@A_jt&dIlCHf2zth}I^3 z_|o!7so<*%kr9?{>fREvBEmge?=6$A3_5J<*3PkH&_sv%gx%I7)l1j+Hi~_=KhZ_w z-5v7VlU;q{Q}jTY zhRdJ3U})Pz*%R_2D_hp=k=f!q5=Enudqvlaa|UNipLz`B9DOHGzcKewwY z{ENlknpb+~O-J#zJOtsc&s@~yeKuYKQZVIQs2dT%v@jvg{}unZC22(lONd7F|M zSMGe_ut}Qv?WIYHuQ6p$8?XJTNPl`ZZ{>Y{p|2gZ;HbGA#!h4iBVt7B#->*oxIDu}kjJpFf#=VkpOtW?Nk4apHTz zkreC4p1B71RnI&>PTfWOjZX2A^p9f?3LoZ&7e_j$s>oh+FPBcdV3bGitgskMmHvR- zyIAOr&`n*Y!B2Vr?0!BgeB$f7aWk!lM^xQ&*u*X5T>8wVG{Im&*9%gS#aELL7fXqV z_Kd#2$U7cBJ|rQk#&mAlOk1pxt@>c;$rt`E=bkqlcwjnY^e^GCZ|v>KZr>`mjP3e~1w=*=U3B=|xk$y1>^%xgiq+MF-7XdK z%OTG3CIcBODvDt@J8qhLI8L9hlD+lsYvrRaDI1Lz%oh4T+Pt&XoBW$L>$aYJxxDx> ztMan1+SapVRy9Me`<|1F-)HZwr!4FLex?zcZWUg|yISD=e$KE?_w)3d60*w|=2s#` zjM|4njhuFd*E<|q7FcEqX65FWe?E(}qOk3+N=#If)=4Zm-HmkNj&j>G0qJ49zl{SK-vdoSLc&{DU!*<~_9l5saVRJ8UGLd7?!j1IYTLw-)QoNQWc9UJi zIf}jWc$c@_&t@<4^DlmzUAZAS=bY&NW9-gpUtf}n+LTLAJAS_tZuA@z5l&0jvW;)G zZH+$|bzm~~{3ng#3A0l3unP{f4YBhclKcO;Bn4!kNngA z=lo*DuiNzlT{<7^TK}c;eH*e@vGtyhNKFhR`j3bvu;gw8X?bWOY=O&CV?o z&2wr=iBpf;5_dBBe+63zoEv$SI&1Thc`!;OjZCDnMW|&kK}>_k{rFt#hrSh8iWVL* zZSh7isWWqLinE#CJy#t%6@UBE)Ui3`-(?Tz4i?^ewl|7JL?+Qy@*e0sC& z+G^X$CwV+$;n6{S|NPCiqc-U@Jls$I+Nja{^FlbDE?0enK)6*#Xz(Jazau0~68iQL z#0CkeMFdGz0xx;M`dO;XN$-G8$!&QJ0+Gb6K!R=nv3&qjZ;+I>=Am&-vce-8KAMCl z+HQ=B!4c#9&z|^QVc#EgNRupu{^ie;ckMN!+tsIO-DK|&3qH)NeQmv0hA%h&{7pyR z6`2SYyStz2)oNVF5*I}l>bM_ryG6Jg85!|?p-ITPn0>M6J7tN62aQ$?qp@ehvP=~w3~okOGIzPe5jvqc&*#~(i<p1^1?7DA<-xpH zrGs8AYvLkF>=t6p%6q(8{yrKxJVBi&c7!gSUGl^J)~mnC^Ro1MmUC2!LP~flE_iKh zCo&{{w;1Qm32l!2vNAZw=UujP(b42a(|FO3++X)UnwNOEvj|5!@HM3S`TA|7T~2pY za2mYy(0Kp7bnpAM_j|s#QIZF{@DjK2CPh~GRc!g3_2Jn( zzIlWAI5AJq0IByqpWs27j}L~mjUGBN`HCKAqgX6pPG_DMl1=M;O`i6z`SBIYPqsID z%SO2J%$&+AGB-`{aUc5_?!!e9qZdPRTH%d^Q(2DL`@;!WQianMGPbo}J-PUP|FP)w ziS!#UU%e{7V0<#!UQ_P0bbsNQPra@64KWU}j+XWv+Fnkjj>ig%OHSlhUQwLnpP8OG zJ*_$}_KSVe?=#ET#GJ)^*b>c3b@|atcD6MJk8j>mJQM1!ZXl-W&*5>!R!(@5pQL(2 zRA0JS!t%h&Ymvvk7R0nyW?duOP|Wb)qx}-l>Z;S4KX}z{Jackos)0>6d0OJ31e0Xt z8TLCb<_&(8rch_Mr2m|o$}9TIQTfxa>ztLdDJpY;>vd0byehkWXGP{nn%fL17Nx8z{@aq>GF-^~5m&3UR@q2Vd7!+lQ0juL zqOBcAVeF}A-u_M(Ra$LH2z!;ZDDP{M(=3oHa|iC74muG`BOqASMD&_y&oQc$;+Ih- zhM7|KXWU5F_pOT`=ZX%RseNdDt(TpfAtK~g&8K10#d#&i!!ML3l$J_wUA%Ttqcpm- zFW7)rAW6)UWROUmyqe!Xi*Uw7H&;j0&@*e{MUz^`D;xFE`1&3p^8H+Ce_mfWRF%)p z)p`G`OT{12HMV2yRY zh|15(m?;c8GTWOuuG9x<<`uN|cV9nfKX%>xn&O!C&$ubM8JkhFpT)ByQ+*@vMop(f z{~GtJmqhbQv#@ei9RE!Hl=}Lk+@ZfRV&WkN{zWR$X?!X?R!`r{o>2DkobQwC_dB)z zwYGfE;m{JhClT2^zuMk4g^A}Lh&k}$;Eb}@pVO^-mRvtfL_a;)^?XWAs>x#0=go}E zk-L^-M@)TPO=zsHUyt|S_-Fo6`StJ9-=lv?%#2RkF01-xuIqe#A|oR(;sk`ZZivXXCIQ}*>T$T^($Qu{YY(_ zHe)v|Ht#U7_bH5rM#QkN21zGmmKO&ehTlD?w$k-%<>I1b*%M{yU&~ z1XZf5W~D>{WCVkHQkBCb0sMqi?aMb@cf$W36@2U1Q*@t4u)BeTP*22I{rVQeO~Npl zW?XsD>_xvZUzw9e^aOtDfN_&+u>*eBv*Mhck_ai30T;tw50n!ThzNU98$7osCva|p(?-5FA0ZN+y%A0|d0yV*u z)>;yzTHHd!OsV|D?nk+`32gQ?>+d4(il%6BOV?5d1yEhmBqNyBOE}*v=hig zbUKAX`?c(=oRG$6?f*FM+>8FzWIBF^f7^CoXHNHST($VSa*CbXjiQ(2WRy8+9?3M4 zUM6Ti5*e5%TFzy|5`!I!r++*s>Z`?#2rM7A)6U6L-s87EqS_un z_C%V>;6D9*-5ni@U**aKLImINY4A>-J^fYwTj%l$>(3Ji)QNeadzjdH_2ulOQ|+~> z)m|`h=wFVyUo0c=Qz%vV`CAggf`5RJIr+vrncoBgKjDP7)@jd#*-AT2(@!hv6(j=7 zgWmJ}2X$$>NW}C`zM!Ka);q)KsFUZRtrm2Cp*L5+B}Q0}gOQO*rSb&Rfv*CLP22u) zL!aXn!-G>j=e^Wx2Mg?koBL(2ci-tYqvQ;E>Axs7Nuac{8nRLg-7#}>ckk}(w9Y&4 z;o)I!Zcax>M?^%#8RG5jUG1|L_4x6^@{FmJR8FP$KNlAl<|Hu*iSMPZQyc&0WjG%t zBz(__-+pv!qJ?cdC#lZ=V3p6>*RNkkCnnftZ>;}vfT zS3Ql3d+$EiKQ~Y!b@9Elf`UZ6c;r&aHa7FW5h(#Gn1c^(5JBXK#KYH}&v17;R>FFthjvqfB6%`f1r%~lP^=0O^ zleP7&f4?p8YySQ_&CMr-nBQb)M>N>j{bkuy-4r*cO{uJ`tg7;Bj@qwyb1)_TU^yu9;Zw^r3dy&|- zz=GTAAma?l%E}TE7Uos;%(bp1cKG~XR@O`&$NKuZjda||$fbv3&jJIr{QRoY(`{W` z4v}hoianT>o!#Btoz%SPPqnQk^7UShRrTnt_ix`y>v zJ`KNw<6IXmTv*W2*QYsZny9gQt~mWTo(`9#$unns7f0`fhtnM;!MY_Mc5Q5K ze(>PIo7B{x-m;GV{{OPGw>Q_88p1eaJEweVs`JUT7&`|B2KxJz4<9}(BO{}%taqy* z^S}S12J-CrrKNAxh0syZbEmj6?60Y<6+lvFWQ1O!K(zdvnd#{4Z2k0UWA1Fu&b7V| zV~a&aMR)Jsm8La6e;%vSgk5WC$VoX#dQ%o|yf4``vR{7)!(=cJxVxd~xJUl#{hld9RB$S@#gSGUyUEa^14jddD z$II1R#+$Ia=iZqe3n$fz=w(sFXz9U`*(S7!T2BD_mWOP6zxhlYft%d~8M z+=+EGG%#T0;80OgN>K4|GNMp+9wlX9X#1L`f57Dh6(>!l1OGLNzg{;qzxh8yP!F@0Hn7-wk&Zo7mXy-#^M-U0kYsHx$%& zufdLvC(+Rb-v68q9()(dz?a%F{qW(#?(VY=7DdIy__ecV&fM;gUfaKV)4XKCQ3=znORw~a&iePS0p4P{wyug(9pbk z^~z(mw_|9Cq3QhFw{K@>XYnItW#tbaJ}{EX%gMd9tW;J}iQmjrQddWrkQ5MD^yXoH zxwE%#FE{t>&!09nHhcH(J@V27yKZJ?#?8(B{rmS}rwbSM;LQ&oOC&EWDjKTrl4a>5 zuCbQpq$S_v;o^#a{8-a3xG+Ee&h}<$N(y3q|AV>C{(iHwXS-Wl9YemYuB}#Hy>4TZ znwCZ;VH6u1i-)1%kQ^Tw5x9ocsk$}tVS3uWzeR;gnzJ>WOL22^)7JSzTe3z*y23%r z3MDBiq$n;1Zmywff2)%xkx>gO)a=U}E#24#b8{~CF!@7=%t~F-5RcZ+OzR)8h+MgP zl`4!PF}JV~z0B_Vb@8L=UVH6t+<2Froh~4H_Uu_fLBX!Bt^hW~efgEtxF8i9Ef%(I|2*6omMRk;?n5E(iz; z*7f$rt&XBIdV6ow)DY-H@ABVAw+juO@;E(kVALZDcbbjNICt)xzrX+bj0*xV!`3UA zxuT*1Dc)P<>uqMX_tkGZn@155>uYNV#KiJ*b2S-*8*I?kgBol?Lqm%S3z15ztE>E! zKY#to`tLt6F|pC{@hg`ve`{~IzI-`;C8e6XI@}SJfR2G7S;_fBXJ^by3Jw2lZca`m z=s*bxh*Er@(~mNFwHJe{tMC8&??3!KIGB_-a%Xk%GIoXhZr^+7SLiQ~6>NrYy+4;@ z`J=+CAUD?p7rJAJ*x}?wZ-cU|tn2pn(?7ei9#ONCYLSqTP*YRO?%5h|jz*a2>FFVM zAE~P-E0p{SlXaRNP^ot<5kcjxyH6&;u@bTTWvH8O_W4WY!)7sa! zGCJDS#H8Io8P#7xQc_s4yNwjDt~t57IQB6lggiG@T2_{ZlJXWH+@C+xR8&kx>GMO? zQ)6SFnwsK9QuJdbW`6yOkD8G;md;rs$MXJJSXkZIXv^g@GWwF9p8lLG^L}khi-XQ7cX9{t*yz< zhbo}mP+sf1AJ|}ncu+Eb<@o*mqN1|&7oENrad9;^d4q$41z!gcbW2N1A|fJoX^Icy z5)uGE_m}E>U%7I{)6;XW!eIw#d3hdQUfw->p1-4?VqH2}jNd|_cB@QPhl-QfnGn1iak)iwTYyH*EE9Rq6Zr^JjixVS)vX0QJ2;fB(|a(2$(C zX~%>ey>#gkBE9;_iKUE7gT8_W1_mgz1%vOZtE&S7G?99-#Iy$}{=Q@lxJ-R%&^jp~T0J+s8genw~o4c;klMpt-KD?&Zs`P)q4fJqr%5 z&oEB5J*oC#A$62{Cc{J8ysqGE!0?c5I_b z;j<&VRgH$48n_ln#j^5_{M`dPI}1O%#1Vr-_ZC&Fuh4`we7Su_(aGsIHZDC~SX?~o zS^_uf_`!n*fot5{+z>TDH@HAQh(~(~x#t~iZPQ=8=tm?P7#i9&Jg2<1H2HZ5-#;rx zd>$VkH}*UL_5rpdX;H??$jC1)juq6C(P3_`r$)0)O~qT9h;{~%(R}^(&CAmh&61z8 z%w`3g!pge5f+3c|bX*PBD{efkSZ8rk9o7nUrk6MxrZUDE!kVKgsbiy{c-k zug^<(**!#BUEOcA{=xFH8#le(wcYDYN(#ypMK?Lx3rb;o`{U%@tL?)FAfYxOx;BlS zm}k!bH{9La_!%iFgRD8pZSPNfdd9)Vwz#y!l5-yzJNwO>z6!6UrY1__Kx;d@XR)zo zO-!si7Z;>HPI?ei-&4LdToXt_fr|5csG1MRM_O81Rn_4BG#Un4HOfbY+YGbx)Nvi1 zyRA=1YlHYH12wU%nQz_z($mq?V_VpQQm|V1{e%Q=R_gtdl7sE-1jm0re*BQKs(PD~ zgE%h9%X4;flRI?ih0A|nq3_3DPSGRj+6Rf}j+G7Ods@bu6pFe-b zSI~{WfB%-d&tX?WE}@AqF+I_LCJ8)YSSM2V;X^)_B~isA`(kN6sHld<5ISCMt=5GL zYaplf5x0;wRaNT8jx}76i~r0t`J_r-K>>(amW1SPU|`_dOgASkK0af8{jrIOMD#K+ zeB9e1Uk45Xx_35ki|pPyS>ktWBqwMC0to0?3{ox6GM+Vi%u z9x2O`{{H@`=;-+$=#7Jw2zAgc+%aOuN=4kkb8B6m`W|r%1yWa)cW7|X^30k2!ouuq zZ1P8IiKP`4fo~2eD*k&SsFO(rK!CIp5D)-{k>zv#y&!(|y0tY@Ra{hbdZ6ScKgaaU zw+zsh$#;%y92_3EZ};`}{r&e3{PBvdEeZ;;{P*VOYsJT96cxeGhYIW%ipbN_(i9XF zrrMI{XJ)*Xr%$3C0M?&7*W+ktU5rlUB|s&{NGihI5jyL`|Oz_Lz|YTs=9`T zmASdMy}j=F^PHk*P}Z?YvJ7s5fz{RirlzJ4FV@~^>};~c)uR{0|L^+t^(!7Dzo1}h z;Lys_^1I)^e}ip7clh*)CQbx|vi?91O1k95_X|_W{s4L)Ppyhm$FE&G!2IBQ(e-n_ zzP_l`YfDp5N3i4{>gwzgO&UIYU}k4`ANfGW{HmwudXJ=K#jb!ds;LXA2Hu3t=i0Le zdeGtDZqeP^jnL&MHySrF*g z%E}6h(%jrUFtG70!x;B~tDY&h;64~DbQ7j53M?f$6TXf!6*H2)$;!g!<(HOvZ97J2 z94#&@FL!lyg%p8e3Z8QM%o(JEhTkUC6ffNM5!tI(CvN}h-oJnUE~Z4E&C6R9X$?1$ zlb3%Q8~givDN7K)5OXt-Vr}inCV1B+%FdghoXn; zWmY5=?vTHnj|i~N)vUX{yITR^ap9(g#SZ|CH}ZbV(@(;~4G|ECBS;)Rp0ZOWLwZI= zu}`0F0dQhTsAz7xxfP-w0KgU&y6NkGLSa7p_Pq1d7aqzWh+XKOnv$n4?-+M8mC&?Y+JCkG!;h?`BI6X@!-#tGAbulLgVy8P%Dn>h%XG!sGXM zBKOCen?68{672fM@-Iv4xLeKwuoxQBNlDFv+M+(8wWCVEe*GGRV0n2tI5-&KEA91b zQQ_;1tgO(>)ZL~{jvV=r^Nv*g@L`nJS~l^sl+@JBRyXbKZzltv??qYn1={8Kj@8XJLiqGo%1e0=csKZ^UC^>ot2CvT(+h4gdF47)$ zSV<{>9ZE`MgAH)8@!%u^9or|w0j8aI^;2v_L-2OeM0c_?^dc^tFQF7Rp$q~H zLNN1ibMsTeUU*$zt|Bdqt`7wPE7HdwOOSzR4HLN-}!D>EnOAGYcC?X=>0ms__sgWZlHhDdLl z0?VR>e)y1@pC9!;90&nnH!_3<1b7B=BXJ==7=lD}G)txx%7=#6-xo7w$C$H{odn=~(iO7G zJAZ!yFuCFBZ*ZJ3FD6^udL)O2 z?|NrT3w3=}mDiH(#|R#9J;V$tGdn<~m{^&|yd|<#L!-J>+5qBnknA~Y>*1ITIxnxa z#l^+R$;nb#XL&_MK}Jf*(ygrqqq-KCE{z-uV}By&>*JFy(*s?FjO<=! zrl`YzHE4q9K0pGRa~1(e9W}2%q<3o}*~mInmm*kTY(Ux9yqb^9!(-r`I9OT1mC+4? z6d(@fm_m1#0BEy6d@A4gzm5n|rzX-5`1v5@k6{u2DPzb3T;Z^t1-Kal@+wAOg z`}h0D!omU;4dg54wbrRqUs2Yv+|%E=1Ff}AU!e)qe4UXYWnN4h#1G_yk_=M%=BobL zv+fYVj~qEt-{pDx_U+miIayiemX=0svz_d zXCAVN!#oKruYB|7gg#jFQ9)T*z!C_4Ld(}q!Rkwegb#;|3;srl6GdG_YAJ07T649EHlJfq&lG>6$Q!KvI)@gF+85-WZ zbpFVZQ4nn;1pE(l(5>Ye7E-O1m6e&9nbQqGp*?kVVD0e$|JqBd_@Q+eGWnaVtV7f1 z&!8Hw4}#q|ySSKLxPXre7^kTp9vd@<3xsM5tcrd&2yJn?T>uIbKE%t*i=I9LYYQdt z!2>D~5-W}BDLGY0Zg=9iS9uLw&@i;IXTs;kpeer6=SYHO>f zs|&^Dn3h&x#Zqf)E82;hhX-l}B^4D?lu51wq7oLDG6xPGOw%c*{1l3$?)^m+&<&47`lSFP zWzdsSD9)*wpJZiZ0QwJ_7e9ixGWw#qvC)09bq{6G?A%;N!X7%Gjg{~(k947V*C=Sw zTPvU;p_fu#E3Vf;CDU!t=IruN5g8~9Cf(p-%uRB6+ zyL-0|1*7D~0J&CswnaIBsur;{+BTF-VB=vvA8AI2QC2t_ zI_Bmo2M^An%(#9e_6N}MT+HNg(j=>{-q}{cO-NrPqNw)8kPaME3OQQ`nyMRu2X(i@7CVO_22}&R zxaoU(d+je>a{iyu+64@_uyE_lnJyp?dRkh3z>9xjhwOV(%L@wxF&-Vg zw6_kc|{(sz`lL^z`G%e@>`l9<*NO*^imQnD({?u4kmt~=Z>HL|17|Vvb6N{VqgQX&O0Bd@Ba&X9&;ML5Ir3o zbjhSs&%icSJbrVJP>*bFY;URb{)KrAhy5ygC`7Onk;BT$5cpaC?KU!i8=?LCnfRJ8 zUtwd@kJWr3e_i|7vA_fP=X+scS?TE^k820Iy5Pg|k`7kf`P))cV~w^^pBVSz1$2h+ z3Rh+bJN!?YV11nY&Tb-l`p%uQCr_Tdd2`Lef`?QKvP?~)Uc76dCO;4(e4xGI0Ke-y zH%{mZ?G0a9UWUOiHa@-!Oza=QfJ=Dla+K9}Vt&5bq3b_r24Bx--G{jeyFUk(#KD7! zPoH)T4CwQo(b7QshkiiMqpbakF4M;-SBsJMG|D0apE_xIQbB<$$QG1D;L4hK2Z&z) z89wiKS;X>kh5wEpfKA@l#F&`znVILYv5och5Ke&f+kgD9IC-+x-tiwc8nFC<3VKX0 ze5^~x!Te3ol3=*GpLn;V*-iqT_&jifc$~nFP~c@H)=aGknxD26oXqdG#taNwYJg*rKF~&g1Q2|pnYjE#>B^e`uuqd>e4kKI*8j_tBbD^ z6QRv;n;5RHtwnMlJ~B&(dMa3CeO!Va!m9(sX@evMSy{ZSC^vT%ivTTR=EQ$+)E#g$ zFJCgTuzZ8J1+^(9g-|D5YOTds=rYj)GSt)61(EXPZ1`|;+*f@qdN@ON(|OqDh)0hY zTR9<`eY@<0Vg&!D%KIOEXkA`GL5@ZFO6zl3A@yXu0mcyU;3N&P^_pyZ_N;Afc-*o{ zD}I5}B_brG$vBP<2}i$Ow)YfD4L{`}1qE_-KFS~{)DVk-KQmHO4}}|(5`5H$H#)w4 z1@gD5@;Q8Ki6{zzN$x6Ki@gPD6m2X&!dU1&XLkGcUm%=^3N$Xmi>v4ez(i1ry@7w>NGg|37Tl;Rg;5dl?xujp{@s(tdTn6THt# z1jC5+(*}Gb6;V-pVGL6+s;F$F9t*qg+gwjX#Kgp;ncn;)F3xkdSH|H7nq`&eVo>Vm zARBM6URLUf;o%ejo7UeptikqKKnlmj>tu$r$P;#eNl|h>tX1UYodg6x$@2TgqzS5b z?i`1-26)A8XNK6OsK_z<8xR_TmxxR~JgR_jT5wYW_YkF=kKEqGXU{&i%TX%%uFG+7 zJOfx<=FMOMUjuk!rBg&p=!^&jqXAfCy}?eyE|J3Y7-1tOF8*s~=0u$tWM<9Tto;h%B7AP;E58@y9?83ls7}(dU z@(!8(Dl8gVfgp9SKUb!{B)VF}>Ri0|y|>pB3|@|tP6!TG%B2E$_GH_)9RPaGiyf~y zIvVKd!9#$@g@UC0(xm2bOj44ixw(E_J6X3F|9NDE+m}57fjLn%Yg416cmBYS6fv&J zz?x9}Bs)4hIVr5|&@QdPyldC03RYk!1|<)dp&=#>XkUFJ?6w$Y=JmsFf1oE}5CIRs zJdl*1f5`c(X2AcQm_QXeRd4}r20KV;QBeoyNlndR$R;q9A-5}WXQOduWg&=k@aW(G zcWVu<4HNvO&Ax2)jJp@)=L1Xc6AJF=>PkGNEGsK31ylUcp(7n3q=OpF-GnV&ef@#l zOLfahiR9`&s{}a#xQe+9RsK6wxDAX!Nc&UX4-fD9_U+Zk+T*Aw^m2%Be;}XQKbjsJ zL(i~5AKBjWwo%M{`SK;e&0HUva=^i-Cpq{?ez8+cB?mxIau7N1KrmS9=s1a6xU)|_ z;PMx+`hEL8eESw1EWKNGCnvjyhUUQ%+T{o!_LypDe7tBose9tY+QJA4ngmoFtQ#~u z^l&(4R8vB5lEfVJFql>X;+c?e5!?yc3S6qHs)~x28E${=+KKGY_RI1X6`pxmr@MDa zXzKt=-F#IkgE-AfHn+B5-6B$ST9@X3{c^p1JMs7hCeDz+#gL@N`iN388g_IG(E|qp z&sAh*QjR->Uh=%7JylMmp5V~aV=#r-FI2z2xLDYQv<_#GyalG{h$I4L*i`-3 z{-lM6f0pA-V1w($IC@X%@Zs|E@^jf2*PsDIxx=NPs2DAN3CJ?#EjfRepIWh9-Lnu6#}MMD$z-~nv4j`SOF_ zN-Ab!A|k;I{d|m~KSUSkpc@C>z56^aj+uo8MgrxCII82f>FVIkg~dk#T(SGM-|*Px&Xg}1jg^M#7ms!2H?f;@^vn5?oFx-M>Dlh{f-}Ce5eqH(Y<8l+YkE%5$mih zjUY_uM#Z2Woo`I-+LADKfpIiJ+Bz-;$GE6IJR0q3Nt=z)7;A%K;3=ejlYU=re!gXu z&+{)vn)a;3fpLGr123IFd2$g-2m~9U=VjSe)k#mE?iUk-^wQYUqPKbW!NZ4#mS5(c zpM85yB7+a^QQ>EoafL8c!H3l9y0t}+?eJ&lCOVP4OhZrtAdHF#^V}G!s>CRTm6e8s z#3KdMOP-#bAtRt+A^W)Z6lg(~d(!SNKnZG%0u1RhO=EJ~Nb#Mm+tRvz1IqNh$r}pXM9v<0)}L zSyfd@y*xVk>VeKDMN#59!G<9Vy?OI9*kS|k<>r5=@t^j?V*iB!DYL@+eztR1;0#C8 zvuDXO{oDNyorE=rYkhTfc+nFToH4=4#wO_Fn9lLz00kg0up8S%!!GTm4^O7GF2J}b zv`X|Q;gbu2D%r)wu|gEuSFQ+M`iu6u{VS)Ma{mq3uBoqH)e3~%yLSx3r@&5~a+sy+ zmcQQp)~twn)qjSRB>&#WF$|DmDRlj)I747ixj@E3M?{55ejG>=GV)By3fk={8Y4a) z9)LRKL<(CFb{d+~DD3Tfn&4jUT6>sufn{TpE~KqSb`H{vr{{Z!8=xgkV(&6CN^C#x ztw{ozmkdmQq`eP;-7}}m(ytTH+t*fC5eWBZs#7E;PtnX9JhDwY7~3LnJ>tv2s4_i)ZqZ;L zBQ2giv&yv&gcXW1j>NT9{Q0t^gDh;Npw6tpBAHr}k z#VjejS%D323Ib8LeUC$Ah;*(Ya)2moX^YXEZbouw~BfhVUn}<0{NgA{&PcjS4(>ppkDvP;M?->)Jgcgg=GO41$- zDRrC<)ZRx_9lkoQd&^V0P-Nfq>C0EIT*2hS^vLHfi~%7{g_0f+fF5%bFPuN$KC=*b z={*1!CI%6MpeoSuggK?a8DWcQIq_2lfx>pby@2|Eq~h$_`ug5IdpdO0Zcns4#XTb? zasM6j)`;rfYJYzR2eA|Mg2zXG|2A4!GvJEkRU?)<41`y-;7l2WiD%S4U_*>|K$bN% zGt*1BoWKbTgz+hC3o0za5o5IN{tEEOjqh+Spx+@N3CYn(UEa5DnOIsTy%-?6fA9J8 zJzMmAHY){h-#TLCFz*ix?b^CJlC#3@?kgBOVQ#2MOKa%vE`I+$?gdj8eyiaj8-ma- z=CY}!vTSB2l5ZRY58%N{TT2c#xso!419LBeKGlb;>tcEEEK#e*qAVY zJb*Ht&G0yoX69i3!?lOKK$$NmVP5+*c2Nu%%1!ke6 zLopl(2k>$7D&!j(PTHc2t_XYdId9-jxh8X9aNOY#gw8_6kFcklofn_)j=TYL>|!Sv zQkZPieLDrmAN3v=uso(P?50w{ z_fd9@!>R{(8>;mFXwLxk@Rg`JW}OF$Z>Zc^7F7#OWWD6%RJAL44HO$17geKPNbqK1 z=+?*A_r%Kd%a;NW1EHa`x7W0_wVAx}0(!>~Fd_#$9CNJ@?g4e-$+fR3RpzImvxKi0 z2jMxebPx50mO1Oj-wGc0h9W?!uS~_O>WR0}P-CVbLIuDg!9lTJu0>hK^nII^=r>DK zZN>-wqD+A%!~;}fX4o-}gzT+gNN<}EBRjjWarga?V^S7nq|`=jj8JdNFxhg{T}qYL zAG)BO-PH3)zqLOThVcreWo6x6T^9HiQ2qcOV|)IC2Q5yWA|938%?!=mq4Mb~{#eyF z|NV!Tq*Ye(XlH*rEOY1T?sx?z!}ZQ)!L=?dT*el{>Y$~gJMiKtXOS8?8JX|eA2J~; z%x)`tF7O|XG_AwjV(I($wrTw-5D9i|7UvhJxO?{QCBFCBHV9n@9{d$MyBw&k5(}j6 zs!bM*JUq}&?$uiJ03^oMfZY(I!@7u zL_q_?=oALKNQpqh=j&@cy$EO@ir}*qWc1_`#>(fiQ-&oZ(^p=yF|sy&JkLYzN>R*m#U@^-%ag zbH_($0WDw#IiR)}JbZQPN{DnYKH;&{Nj#h8NankDl@JMXmz$cJ9Q*RG?wvFNw|z*~ zrHfdHtZIw19hj*<9?GwUfQIWpbs~(jeq>CEJL1{1b7p4Bl9KclbF^myd#ij^dN08< zMi+@rOf+mWrRDpM%8v++N=_capCG5;!dQHAvayU2d7vf`j~J#QI!;oi)Y86W!46}$ z;iq#n$16)qV@kmmXJl%vftfVv=dcX4CTkS2Jj}#KqAs$Q1%LjUU4FuipkwTmR zDu*TonQXVN&8=!v1_AJ5oChIL?DXRWPMzSCg^AaBo8-uX0@=h+Ldeyul$3y%HW|D2 zR@}*OBSzvSOc&tNjT2ZN24=wk5uh|?p3p%VM%K|WqW0^vA2iz?WP_;j6RsCv;J_hKkaOHB?vH}qS}>A=hKJW+2xgt`H_A&V zx&&kY$|B{#=N5aLm%Zi}E z(AG)Q-qm(p?sOu*V!%yLk>8hMB6^2ArMhvdP88&BdvmD`{a|BtH33G!7tS6)5GZAE zlUY}(5TXGd?mx_-j5s^P3`LbGf_%m*-UcKy1(cQNg! zShzI}sWP4IU0n_B$~sJ%`ntx(8h4iMVPYB^w}I!`_hLxO%zb{4?u&N)CuR)|e-w2T z5p<~2r&;H;VCNysbTdZJT)b#dVTz+wsy?gj9Uaan3vg0lJVDY13`F@~Sy)KPIO@_W zq)191>b*Ehre)kPwn)nM@cDC`FW^^KPl}HI*4p~WW?yz=<8emyqn-~TAmf0=abjuv zy=(lfn6^4}D06?c;74?V6E57+58+8L|BBl6T_wcfBH$1OCN~aVe9w6QCK3|8ACfi* zVo8Yy&`YTu1|fP85D<@(DptTnb|FYCTR10lP9z9^9nlD|jFB_6Ej%Iqic$h85l9>b z1!1#15Q;HV7dY}qE-7%+E6#mqgofSu?VF%qb0GCS?R~&uNvdAN5<2{fFqIOZ49Lp5 zV#&0%wbANuUZGw1!L^gRLWlVI0Re;hn-eefnV}5iUH*vAoIXKKQMUm2fuwAi7A38R zR*J)1%5Ie7QfhaWr!mNh5QAZ@aC2}IE<0)!x4I8!rW-V8#5K${kQ~xSdmqQcN)LWq z+Sc3q9w&vqL`S5ij>gpLGLoJ-eR|ibLhM3`K{i7jAwD2Lby6{98Ar#&>AHnvKyooM z-G>8L_8t2ezx4I@zer5{{N)P-^4ojOOCuuaPfQq52Ej4C8x*8l@fQOqxFBypC=i-6 z-;EbDOsZZ{akz>zEpdR=I3mObROY21eHZ_bTToCAW~CMm=#0rQm@ByHUGJf+rTrGf zArzMSbGWrwDJ%7fySo$@5I!~*mLP^+RdC8;q%L%8a}z8RXbZ-ty8pK7RS~clH)tgJ z&qG5$g3?g#2nz|}lVDsjm(0w~p}ZLA>c-_O0(?ST$6&`@Ar4X;OB$;3jgO3!g6Q90 z04WE6u>Kq<66*Y$ElZ3T=?a~Ke%#T)^gz3%sY!Z^BAD~k!biY1(UpJ(8;EQ^&Ct#3 z^2zFM!6uA~I(7Uw`J63|Sz$X7KZqh^pso;eD+U1*w)0?#0R|rT*{`H@9+Ydv6z)4l zS`ost)6@Lb1IQc zOd>z1wWi$pn&gVpD4LozvrX)@b)_ME65kxzLxu58(o~ zPmg0p548|tMLh>X0Q!`uyQqYO!K)HT-H4}$^CU6|X-FYsqocanC546Xl|jVkzymSP zjWq*KZfIyI^o~Ca6arhr&al{;Gdm}zq@V!DRG{C!!DRC8fGa0XR6!-n1B5In0PhrW z^2e}6t`qQIc+xg#ZF55dh9lvNW6+71gaj@x{(vmQ`*wD9;SA!j?U?lRN%$@&+*us3 zrdD8lV9yQZ0rohL0udEfWY7Yfz25^RZ5UGwZXs+v<1}rFg_F8Cs7C^*e%91funHar z#=?N0+!pa>98&1UJD}XlZt~)IR}CDfd)til2Y5$kVZiKlt~Jqc&GgI+8O84D9Umwx zuVv5_A0NbQ{?#^|w!u1Rz6!py%N3!<)I2B41}X(y3Ama-z$6u5j4~OGH7GZ>gMWw{ zYl#T7moTHEqJrXp&PBEZMFL9;wGG4VxCZ+A@WVhKds3uVM=uLLR{~z~j=2E7n(RS- zqea1OoAGj&4EQ*Pqdh2A%GdLcX`;HeJQcrIqV>`Qx9`8bd019)8brKV{fmLghVUO914n$c&Cl^b!g)R(;K&LD#rSbU;7(GCT>|$8=KGAE zQ&%_En|HbJoho2ricc|Xqz?rgZckYNoO8NW!}E=LoyPD3L}+} zD2z&yl(iFO3vaYqTBtM?O@lTiqMRacNs?qsDJf~wD zO?b|8zR!JM_qE(3qrQYuukPi`3-me+AyWr%KF$vQC{|#Ul$3bO_{@>hP_1lR75k_v zErtZ$&Yy4;_p7T1Af4y|llAmSL2>9wg}XIbLbAg*fdg<_tCMto_Rtuc*d&cOJI)+k zV_@=D^U2#bpmm6GQ}~Q2kWstul~z>nL+<0wam*rLe~|MREo~#W|HhBNB+)a0U`)Pv zF95#(fB=0p5fp@!2g%|Z|9s-46v1DlrSE?KRaNyGD33Nr#h89mTAr>+Rg7D9r>P6H zMLnbd^MG?4$l;pd;`R1E1zmuk!8EPAa6wuN+z4;cx*ICdh8DYcFu_B9ZVCH*>hIna zKUw+DIXQ}TA*zwo0F-e17#kxwuWOr%F%dFP(__JWZ+?dLn9LoG2Mr8_H;Bl!WcE(y z6Q)*`d*+g5oVD}EwLN>RH*7HIJSv6Nk|6_mVb5)Q?in6N4h`)LU+d`_f3-*3o66*k z)oyKWDr4?dv!O@D4K);8m-p=#94M81{ye8*(dyM1RQu~zhr;*=^_-Ck{)|zgyc`_F zS+WnX!wW*C0^08NsYjAxf549)85b@%J@@?4R6d*nhmDvTT05W!2;y5aKh3yp^aHh7 zPcQq(WDlykWXTF2pHz~J6ht)<$lZAMqwRg4)*7oZayg!NB&tkkwzLK|*MIxtB6UW9 zkNWqh!;~UW68&2{NvkUx>xqK-B4DF-!3W4*7(nC{g_HOS(;4D1F)&j3`=8;?!JHgB z#@D){#JZb-`=$SJ@R?veksku8HRdg`0s6k`w0Bu=$(Qr3_ z-g|EyN=Qhk@4ZZX2|FD(swkvKS|p7BFrS}xYS~%FPv}i*EY+pHp}}51UJ9=&IcA=H zhYwonGXrhGbFQvb=}R|msOc{N5%ZfM{4lj(gT?--?Mx+r?iSkG8kxO-J9+4DTv{1t zTY%L6;l*{W$&+u=A%ydKCmdVdAW5)DqI?SQ#-%j++k0M{%z^}d4m2h|3cES}JqHK5 zkd0y)XYF8c$ViXeZ{LC)9V_+zoFI<*{Wmri-8U_BQdf8P{-`LZlM!C!O*$D&i%Y%M?trslmA!q1Udk9% zRow38TUs#|%&HHe9c3AC4cHq?Fsm$C659Ff3dn>$;;FBEpp<19ScT3nzqv>#EW`ce zDgV>J$m7!7=l}e{K(omk%g`jb5}FfFKJ4kp(X~ej>Wo7mtgiNQaS?`x1K$wr12&4c&C%1vCAO;B55Ekax&Gn1Vvk3}o1jmo z=Hxh7TV;yiGP2K{`C*vUq<&A?VP9znm74~OcaC2A<`5ZcNs+LrD;P2ZE(w6{Qr*IJ za(uPV4IX=FURn(#u!UCvDHIdY>qR8CAby1@&o26e`NEO<$jEU^P}sH#Zg(EVi^1l-{lZnNfW;6{7II z;KwA{6RtUkYY;yhFaVoZN=fFetj3043|uIMFLfQ?+?&^SfKDNjfJ-Bwzy_?lkD!J{`S9Z;$N%rDpN zlc!t3QM8WBV7Y@(_|~tz8*LIQI;rfWs=9h1!kRFpy|wirL2M%<0KfL)44sJ+33STK z$pKw08!mbsoS9%CdEmwW*Vwyvqw3>MGd~1gS@>TA5ME@J7nKWiZc#41`P)Yyy#16a zA|H-637E>A=g;?Tjbqgb^q;uiOUas#&856+Xc(=wEO);B!tkU<(>-8k@ktr~6^xyX zHGBYnL3m7S2wj&wedc4v#pPEU9NS-*!~{eu;;%yX5@5*1+@(7(Mal{p4jwSQX!h7c zG*Xf?{?^u#@^dCh?nc(WkI|fqj8K; z_@;IBLTcjL!9(fV)5|-}*HmGpeWmEDM(bvA#xkzCyV=;EH*1Pjrp*VqM5jBnW7p)#n(+ysXgB6%3D1QsT8&iei@)PtzKY|bmlb3L} z0fBO8Zs+YD7_s&mC&GJaVr1?T9{94aHhXZ?GX9!5%9*Mg>gw8AS-r+lcE|i63?1Hn zh^&XbJF3*F;JjaMW%m^4CBXk0cwP*9(K5&>4xRp!oZ5&HTDb3vy_LBs9v%tY3LTv? zg|=oayeLsz408q|F-jYc9Un7;-pUR6rR?cb6_F4;hF=0U{&z9Ab#){Ds??PI{@&gn zF@2kjW>9@pakZ?e3vv;-W*n@}7qwf@P21a$aGn_eQ?=fqX6?mOOg22Tt?|HQHF5lS zE5G;AVwYZA7|FHtDpz-RbLhyQC)UvRi~9T41Hj(M8AwKz_|lZd!Sp=cMcWZ(9W9BK z_l1Nj%um;tR`59z*1 z5Mj=o6`aa%XC+Qr>;fsfW2srXbm%u9g7v40S3Iq&vrVhn8&tvsBZfaC{PlL80ehIu zti&Zv<=rA|f26mRX%4&Bsq#o`t$Qn#r>ws;N?Ey#obuYWL*~DnmOoLFBkTG``Y)ps z2??YE_6jk}q(uig+s>o#`Qwctt$TRhKTS=X((Q;CxblH`xF01iuVX<$4G3iHY<86d zkl4}Eg2*Oe?X1wjx+IciNc9+>c=FYxmh5L1ZpdFdLQRxuP)Tp3l{A%!@{1-2%)Z{? zfWo9YHRN2m@&^rul_yM#$az}TOQ$S7b#G;cSDLROiKRZxgcP8O9nS&bJ@*|by)D-R#KbU$=cjieni z_@U6z?ocs_MzeRTmH`sfE3-#x@ZceNxp#(>at#R$MRbBPX=`nzjK@Cq6bd5?@2SiM zu0qAo!x)>09B^Cq*aqQ`q3c190JA`#%$y8Iyqj=T`Lp!(^twKN^bZI~?|e{GTf2?T zBb|NOoM;FU;3a5|Rarz6m~wa!w zO`Yn>$^e31Y76wlOxRySMXodKrJr31X(~>QCKet3;{d)xc19u)+u~ zyoj8`!i6=ht-7hj5beYrv(l}pUU(!`l$9U-j>zh?%_hC}AJe7BvIFokF%|ET3WENS zR-q1A#mbe+814VnBTNg)2wRpLAqP#7Es2hWUr)2AjCm6lX12L`YltmFCbrCr7CdvX zqEY>dS-V-DgXN31_vo!OORn@Pr{u3*kIbjhGP2iT)7TV~p(3?4la>;m0Uv4fDtg|q z+-jq&e3W9R@AbcBG+h#(xNx?XjiRDxX{FIkFieBlNaeu66eIZ$_QoR~8qeU((g}w6rc0ki$O%VTJXJ4+*CpjM|nXlM!h; zr4lig)m;EyP)s}k^>S|`A`8@^4I4L3 zY};KQCwU=EdzQa(AI;^?#PYTGnNav>G_n&}39P@{FDrzD#T}Wt>rUb+L|s!;$nG#x zWgA>Zrl!|up_xtcLm0keV$y@xQmscuGYu>n93kF2z-(6rpB$D8>|7dr2aCpFy z0}0m)j1S_xjFr{+2@~e>K10aID(TLg*~`1n8M-t0LBH2Fzj3v7kITDeS*12#NsUnU z_b^jY@K`iLf240sd)V#yL((J~>ecgdj82ShTvZ`ub#%3Nf`OE@wP#||poZHO(z=FI zvyUVg$;^$^9FzKXl7xz$WJckOmP1LO+iIUK^%zz(?26i$v$VTkR=!~oLC_b~`d0Gw1wwT2O3SaBCpB~9UA$h>R1qUUC z4izT5KZpWgKK0tQp;3xZM52Q*tF~=RpNH3uQg5TWc{d9RzO_}5**>cg%EwK%~KGh7<0$qNK2)hY){c~b-eTORI+h*Xy|RBN7+ z(bJ8>cO=|h6-eWQyaFY0D^qRu!3;06i`o>R_UOy3t?$4?`sCX?J6V9YS5z(|1t}DM z<6WE?INL7f&-0NrUR<-+vSlZ3$eLR--f@~BMsPv%S3^V10=?Gl@ci&+^a(I^L&M_F zmmVQo0P3hA{bU!ZDKZ(IuPZj9i8viH)&?bl9B>lmeh9puhs}Aw+PzA8nPGxcR_^)p z@DG2pm#M^JItm)TKw88z$L#!fi}jUrVt!fQK&vXz?C%(t@oP%%+tb&tFK(H2Ap6l5 zsBFs9?itT=bB}HhpBdFcx{jSu$`RIzGE!%+tc$Zt4>BxLG}x9_?;EgN15lXL6U+BK zEE<{*fzTd3VXxFLzpO9X9w3W#dRu#)o~Qj0OO1#A`A9dSm?r5f??k=_^4OKY?5M32 zU1ie|Td+@qTlb*OtPkMlS+wiEWrpj2el3?@*PvA_TnWpQT~M&-)k3$7&eUB!if1MD zwd>zvax-gIJzBo?Mz2B`RCAe0j3Z!u3b;XD2$);i
    771}l{4>_-(GV$ z!a8+r(@VK94OpM+zZ-0OQ|}*Or7)7^E2|>>#*FTaW4;fkE9{-P(Tr^pYab0OnDJ`6 zTgiWh3@OO7cU57~r=km;*~@0B>*1iG&{(LZM7UI*`xcHSdT-j`qx7UU zVa5@f854B4hWI=*U$9a@2Yd^ok@F(AQzO2D>clFVVM!gF0k+0fteP61Gd|$!|K@5a z&`q*7_?(p}tQl(`PG=q`SEL*Rk6g>y%3wG36+__M9B&eF72md%Vk<~0~=;Xv)BUDycrn>kWs~sp+indjX zW)TY!^*7{h^BpG(J{%&|fRdk8mP(z5I-=bi5T>nF@53sHHblVj?(0nof2?ems=Nos zGEG%(&|1}alV|4w6+jU5{b$|Yl;kx=s=^s5KiO>n(%wENrPLSlo&A4I8a#OlQjDx; z-6yd$<>Z_lvU^V1YKr%=py=Mc%UaFtbJ$S#QrY(4mcBMeCnqrv857fblTbyNgN~Md z&(+WMdo*yIpcVaE|F?pYlCN1GYS}S4P%U5&F9>ILbg3^? zV%yDa#X75a2-K3I2}S_wx$#?sC5?>`q5w1%*$DMv`>a!2KTS%ZUxL*g91yXL(sn*$ zn-z&Spf=&a>9dzS?rjVo9%U<*JYK&#pOBz(xFJIPxopO~0IPwQsAh-ds&5^0$h;vv zBEG`-VwG0HeRh<#JIC4CYAa1Q$t7s<0XYgZq%*reHqAvB7ME5v-MHhtSX^fK9ec=8rk5pwW*`yE0sROI5r!U0-%Bz5cXa zhO1!$PIJG*<1hVs9mWkSGxB17N;Jw4Aw);~Z+3RN1_rlC0v!$2IXkFmW_R!QL8apr zq!0zQ-G0%GJJXfA%+SwB_0_I{9VG1&r}^b%7SFJ-z;~1gt=)2_FKf0lp{QPq%_mMzhE!nmgDgUY&B_XF2|o2ZvXar zAMj5(v|nv?VBlc~opUR^nZIF@BX#B@EvtzxoIN|0M0SjUs)7_jB7Tb(mJ#Z&C^Q#T zkM=p}Lod$SHZ{>i}CewDfb~uyF3& z#I;)@Sy{I7as%AJqSggTP)^zI&+6)=1}G#pI`KYDe`>~=nwy_EdUQ?tkf41xD=GI+ z7Je}tDH~#bvdSj#`UzoLThQ3)zsW{uBCUs4Yb{qwq6W!S!+nt9_k1aB!@%+ncoy*f{0pRHzF&z42K9__0-%CSS@ z5usko_SC8wTRFw7iHjjU;+gf^2D$I=)vj&osBV@JGzMPJz4b*c zzG82!g7mSZq?J<>so%W0k=5p#8U;Dw>jn=SYpxq-=e?`Q@lHXM0Xv;pc&YBh9tK9E z&&fedhwus}Njsp>(&Slt+uIuwG;E;-qm+Y=Tb8V7RM@TC5`x(K%>?dA@*bHl5YXC& zdun<9rhN0rGfl2Jv&J8d!aDUMY{%Kke(O}DnKKi)w>k24L%OHxTz<%=gTghRV3=5d zw{G1%_Q#dHh9V~}&VVcL?6;x710a#^K8eAIt)R(Hh)_6VR!yDB)=`(MG&wUuSUtU?CfRSo`V|?YBS?tKFv9bWTLfYR0T z^(&Oxw6AvKW%eLfpoaTJANBE$|1J4Q81_c^lfJh}8ym0xV0G$Y>8pPPfa%eW{*6>F zNUMpRc)Re{E%=^uK@BZT?`vjAgb~n;{OWXER{6kZ;sp$l(fk5Ca9MPYc5bj z2FXBD@bUf459?AAVa_xZ?)c_qFAwObU*hTMQhAf$%3BZ>i(gD7%2rMFu_(u`CMHJ* zzB8tYH7u}0r zhk%`H+js)hB8IcF5o;RAgI(SZ2xma_M}K!pCIG zl5L72;koBJssfR)x~hs?&#P;j2MNL;YH?RBST)Yu`2D3tX>dNogvCR^P~P6+X{z!Y zo#N5W%du8FoiOz&TiCXe{b>=_i5YrqSbF>zec*go2<)Ixg#(K+L_r&~d}Bx9kAXbh a0g0nssXpF5H%d%@a!&;J3fTByVT diff --git a/examples/screens/Picture 35.png b/examples/screens/Picture 35.png deleted file mode 100644 index b4d29718f416abc5e9561d328c1de51f305e1991..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81901 zcmV)9K*hg_P)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+ z 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 diff --git a/examples/screens/Picture 36.png b/examples/screens/Picture 36.png deleted file mode 100644 index e67f82e4c51f52baad45e327e166f87db9972287..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5143 zcmV+y6zJ=TP)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+ z 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 z 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 diff --git a/examples/screens/Picture 38.png b/examples/screens/Picture 38.png deleted file mode 100644 index 14cfb7b3acbadf45330456baf5c5760ed86bb7df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59565 zcmV(-K-|BHP)4Tx0C=30S9vtlZTr8zvs%W!uZ<<7!DL^uj_musRJIvQmYHU3AxcF_gluWE zrld$BDwR-Ap;S_jNTigKHHqf;ho0v-=lz}ceb0OS^|`O}`COmtzR!KmbuIt_@gN2x z3IzbsF|kZHYYU=}uOAUV2n4``7!ZIjD1^l@cX4rme;Z4KfB*nIQww4+q8`O#2BbC+ z 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 aoIIdMAHPPXBPSYBzynp$R&IjWMEwtJB@8G4 diff --git a/examples/screens/Picture 40.png b/examples/screens/Picture 40.png deleted file mode 100644 index 64436d5e3897f0f099601f8bde2577de95d64f44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10527 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 NA}y{URw`oP|9`R=e{lc+ diff --git a/examples/screens/Picture 41.png b/examples/screens/Picture 41.png deleted file mode 100644 index 37e26518b5808eb9bb4d16da895c960e5e260f66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4797 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 diff --git a/examples/screens/Picture 42.png b/examples/screens/Picture 42.png deleted file mode 100644 index 0c1ff6d821e35d4bd67498c4e308f42ea2001b24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16285 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 diff --git a/examples/screens/Picture 43.png b/examples/screens/Picture 43.png deleted file mode 100644 index 3e6d5386b6126cf58247a873936b09777d905983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9298 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 diff --git a/examples/screens/Picture 44.png b/examples/screens/Picture 44.png deleted file mode 100644 index 8bc56e30ffd9f6c8b939c29467f09b4ea795236b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4638 zcmd6r=Qo@Ix5XbLN{DFD!YC14l;~ab9)jqiWsvBig<*7}MHdW$QKF9CMvG3g5J3#l z+ZaR%qrAC)!M&gEdOz&n`Mmc!Yn^p=tiGN)8OcKu0077|HB?^wn}h!&V$eT6a-2*C z0CFp5Wo3O$Wo1@O84|LWfa1{4AysAsw$8{PtF=%Ie zg1E40scJ^JIMwXHT)bp5qN#tTJz_^GJmgg z0y^#^0N@?560(yJ08_$99f`N3g-JCmlnTUmy2I%yV1nEc{X%}8p0E%`?Qj?X$QqK` z2^BK;+Y=UxQ>=~8%_vxobyD46eE^_)^yKIiUr_^KWok0gp?f83}-L0svj>^NR%N=-K;=2OJJWNA!bOl>x~f`Zp@~fZ&IKqY?tC z1o&$LiikR;LOlN@{DPUHq8%gPMg}OL>a`gF9fsTi#8_S_tiB(;;QUFuSx+J zr#3Jj8R9j<1@v9u?Hb+=e{07B0WnSrd`8;T06-B&0Qg3H%QFFWZ{b&NAm?0AFLufzzwWZm{S>sFNSsXIQO5X)xsUKlg7LF{S{3$ z){CnakEZfMU<$7~%k!${| z2&yz{v2%J3gA~k*-1D}Qw$fIt_YyYC4cfh5fM#pFXIHXfd-A)Ly~r#n(RxBYkY9w0 zbMCsuI?n<9=0>9jLtRRm8W$Ajqjg8CL_1I~Ba;K}rBL;r&}VaYo^R`ZI?lMvq>z`W zLcpkWMiS1ImtTSD@L09efdAk)L4;l&kDl-iko_W4P7pIO(}m0t&qZZdREwC$n;%u- zOXxL6Hok4DLGQPw`z_Wee_k7f@A(;G&HRpiIy*v|_$n<>fyk}R@RMlqki(m!eS_gO zFv<&s#R;6K%T4(|J#PqL{r%~tK79)#_=2$cel@B?D(!e=dv;>ZHH7p29+@DjRlN7% zEE62MDA|OAZ?<0?ZN~PU52Th2N3$F&xaGgdGryWSZS|MlCEchvnZt^NFPlR~H>bDQ z={o3|pX>ygm}T6sH7Na!wTPU}f6LeP@}~>X$0C*#+Z)`Y?h)@D;N7)?+=6zyKbm}0 z%o+5|NUKsYO!=wq8|x@eT$mHzTxCI7R=cN}ls>}3=g%hpbXr^bfb(%jN%~9VSxa@B zb!Bi|Phs-r5AHRuR7VKCcU>e4$G18!i_F;;vBj6udf(9tJGOJWHFn;w@xcGsXpk0Q?gJ!R~D)nAG$-U#dxvi+gUh#gchFVSSmOTaMCX+gycrfTrt7t3h^%m&vDoo>;?W zz4KftXok;tlVwxT=T+N{PrQ&upM-bcn*UfeBIxV{%x7YMKs(=+-t=u8{@aW&veX2O zNs`1=HG}vciLNg653dfflPJ#|{l(HV8HqUeDR&D$mu=Hd5s&j}RQz}WZorDlN_%M{ zuv&g7Wa#Sab@I6V(O?D29x8X8ng2jemodhF^XS)pZW>i0#lC%c(RuZSQEop89EkUG5C^k?m% zJu;+xH}I-%mi#x1yNSS+L*;H&b=A_f4@}p#9*;uwLxgz0zg>~1*F_)3lFn14+D+aH!?yMZz+p_Kmsn+%mh6x-;qV5 zcnRkUUUyn9&lK7jwb?+?-QfTW)9eFt2Uh`%C){^w?Y$8cir>*wV4FU5P{ldmzsALh zD0v3S8H0@FJW1i%%rG5QXxcDuwTLq#U(BsXEV$O;-h|Au^-TS|>$&SY?(6AC;|KPv z@J%|NJT^V**z@UIoK^3296K*$`M&HV0|~??7Q#dEzTlCDHiswPX^$R?3M#ZNMMO(S zYDPhcyJ(Rincl_k)=SHNY{%1+x5+{?rjRnxI};0im&}VaCKN1L1sR9z$hXg}rxP7E z*5}jCP|+{I-&Lm3`xOgaeDK^({{oE7E?e9^7q#b*AGSDlS@p|0uOw;5Kd;Zhqr;vf z8^aj6Jowhf3HWUp>t2Kvo5}B@!hO3zDs&1Lf`AJ(@^}QD%c}tPRl|(+&YyV`jevPo z_y%|djWOj-)s$7AWS3v$_}Ff#Vx$k+Vzt4ir2?gvcby7E-8y*}B3#Wo#lK%&T)rE< zA}iJ{h6jDWez}XO0N4AGVZnR32gf@Hfh!jt$5X$p!#lCh56F#VC&04OMptdleIt2)G(Iw5c8XqD>4N?UxPhdx7KksXAW7dJPrUn+JOE5K)wpd+XUtx0la9Sun`cD z1(*q8moM*@Z3e<-1a8C>06cz=P(T9)a)MF*3=>pQe7dek(4eFcqzELdyrYnaNL**l zOb&LS>VOeh`3Re0p(0b1XLL%|wD$&xCP|knN6lE!C6V3iOY9fjisd;;ZM`L` zGG_$h^OGv&NrI)XQ}pZDR=QfP}i7|yaQ z>Hjb&#^wJw__;LPuF+2%^DDR+pNR7wsCwBEQ>yB9NP(d_3-&6)a!rN1N?8jM5Om$-<#p>2~}M4PW{5H4cJnRq#50CzV? zf;dc+JCrjkROAkb`hJh56O7rPlrM(3FjkUXSVLeMCac_8RBS+7W>p57c{20B{EqIk z`pNWdI{N$Z!cmc}F${wvHc+JMPdZ7;T#4#?=d?BPrE80l9!$(k#!T9|zPTH@3N61{ zAGTbyF#MVzCXDc622C*MC3OUMTnD`j0$-_Jxq{R{;IPFzfssKGXwt#h6&1Y?Zj?}N zH5#I$da4pC>|+tcOfezieE6e-^(e&kXWMT^q`6yrN75WQJvSka0YHGZx>xB6He z`nBVF+2+|+KaEEIHvb2HN&%EH?fY!3&R%N)N%cs{E@lhacuI%b4W2c5<>_MDV($B` zFyITvd6e5?P7aZKs&wA+(qef~NP!F{^zv)6dI0JNbe{`@KRlsJbR_tyq8E0aqy*iG$FK8kO`rR43c)sxnmRFXqN|2^Lm}!`G6$K5&TIe}h z&%Q4~mGL3er;^0E#rB2G#nCQQPUbFWePN2o`mu!{Z=X1=y|r+bShLy9+7jKdTQ%Qp z+W);Z|GR3{a69_+`GS0NDzgyv1I7-uZzSm?Z{us1Plb8;qI5zUWl|9=GT>L~Eh3uI z0sh!|(S_g_m(xA%3{ug}j>(DD;Jt~ep*X%;o;059Cp*#s$3|lef4qA)Qq!Nze%g`~ z9J0C!D&O%^3b$TUGK6~TlfHWUHYWskZZRlbd|>n|b&r2%bsKUb3oW};pDqeSWy#my z{N&ooJG-YNr;egvGz!*ao(@3#$-XKbsaz^c-> z@E(8(0kU^ro44Y@2mqbFJ2F!EFjk;Y#opEXHsMs6z0zf_F$T>3qaPpW!=vab_8@l$ zRtOZc+QarOgV&(K2731aRub5{zH`Q6@Y{+kPq#dvfEZ>OSG?Gc2jBq=h5i0F8)7{l z{BGmARLJTYhyZ8cfdEhLYQwnta5%nxH&qM;=v@p*T8ItAtVArtMr;Qob`K?H>y99{ zdB%U|8Pj7BWg#obSD8r#pmFNHtV#;!E_lWy)I$;myKAe6-?)7Lc6pGL6Ly#KHk1<2 zsDMbNSfr>XY9Mp+oc?`e>fVsyx-shwWbqcG5uVk>SJh5*>odS@D=I8aPZ}>gaK|1{ ziRV_Mnh{!{hsH|{Jg|?L>Y+c;ZPvN9Ng(du1E_m%5GG>8k*qdKvXd}^WTCq{ zG52FMZqL^s`q(UN>O-ZM1 zpAyp~%(nZukn>X|K5!TUdu&07s}eo{08o&o$}=PXT+9MeQ`rEBnvzYhvrSbhrD*mb zP;XIwO~U1Y=SjsTPWveNr#49sxpn;3Ow!=Q#@b821&nVTswqE-oW(u!`-NTeypG>F zoyq7m%grQi^lT>p*JfH-{oLJc;$;_(G1}#!{TM3L-uvk}kofV-cKL_A|01Bh4)AaZ z!kc-Aj+JwJtz1D{)rFHlnT67>Q5PxvMO7*$% eiP8Tvu%w$HX4do{LqY#~A3#%8Po-MPChR}W*(4|c diff --git a/examples/screens/Picture 45.png b/examples/screens/Picture 45.png deleted file mode 100644 index 8534dcaa165d02e9527769b3a44e831c4d9bd13a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7697 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 O0%}UyidFKKk^cb}d=%dR diff --git a/examples/screens/Picture 46.png b/examples/screens/Picture 46.png deleted file mode 100644 index 83181552d470f2c20f66dfd3931fce555f7df271..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6618 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 diff --git a/examples/screens/Picture 47.png b/examples/screens/Picture 47.png deleted file mode 100644 index 25247f9ecc42fb73d9bf99bce994f4d697977722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14539 zcmd6N^;eYN*Y?mOp+h%}bhm&sNDbXBsdR&MBP}2xAkr-Y0@B?eEiEnGDM-U}KHp#7 zf8jlA$t)3vd(PSW+E<(?H5EA=OfpOe1cHN*m(~EU{r~-eB7?6qR=*M;kY}%LUcFL7 zym|#!b9J(`v40DJcx5E(dh<;=+_tw>8}zkR#L^dZzA^a`cW~RLRY$6rl4fcDTtNo$ z-rlCVs6d{EC0R{1S4$&azTi{hi>R&3h^+0G+xMB5{$sxP7mXEvuZ^3uJkr;AHaAh}{_5CkHkiDk}}N7ZYA zUce7qADx{NHyUokdpLdvfpiR=pI)Fy$V1>1b#WsQ2|+JPUr3O%6dNrOl~iGs6vPVw zktqBjm51aNkCHQ$pTDaGc@T!=;B}eyA)f@ILS9gth_Cq!JupM&MIjAEfv#m7K@5tJ zxv)UjK}JZ=HPW8u>uI39Am<=nQ8SUezcv`+9WcOjRN-L+Kk$CclvX@^K5ck z63Y3T`S)+WSbNNd#H^Wn`x$1xsK@E$pF4`a7nVa})ZCU&m6}~}JQi&b9WXvxb`g_l zo4rTB-}ZzaOhGH3VLuas`7vyuzYF50497{0{k617f{0Ow8;vO`S}_$_7VXL~t6KM3 zE5!SR|KgH_UOn+pBjd8EsHwQ|*lp?fv!j2U5$9Fx3tfF>%US4b_?Ob}yapc( zPRmgQRO-WO?dmF)4;qs_7b;%mt`BAIdukr*d!D^(YYD7lEi-KOt=irSJ&)iIJb5@h zP#;*QY;|otzU4TV6CL;BxvcSquckdzCvP8eYM|FY{odO0^3&Pi&h*%hb$;7JdZ=H-M|A~s$~k{<^LA_hQ?>2i z;Y9O`rhvguQcIysBIFg1vaNAA!)=H)>ug!h*U!x^`Y+WA4d4CUVw?EXl-y@?)>4$L zQ}wUmdy{clKul*|!qyDax@(e^C5hXQFlzddAFhU}(+w{cbS6|Lm*+cIxCfbgUoI3* z)%KN-->1mcTV>BG9;;^~Rw@Fp9$1AxW;Q^ia!fyZRVqb_Xs5|yPGe8v2z=mLl8LH` z{t;Uj?~*6XYvj?)m8q{%_0)y`H04QA6uNI6T?w6&Jnr&P)uq*5YE6Q_|E*KuEG3he z*B>?aaNVL^vqIYUv~K#G@pW&rU)FIlGR>|v7*TD+Zmh5|iQ?++7)Z195w^28s(%S| z)lKVVj?!FFxy*R!pYm?B&Zy2Wcg<`wjm5I|U99^^{omKMg~a9@22)Wp{%!8X4?UYF zpfW;ml41{a;|0dQlk)!+Xm4Mhacy~V9`2H^wov>}SRlq}+{w_>en+p3*ZFdy^}}e+ zZQpCW*NRJHzTd@u2L8P3zE2pnIPEWOweT0cPt7I}RVI)0+B#i42)oHSS3F7;k0>&U zZKJxX_H8&+?v@|fDXB-Z&_DhcZiB|^pV@z2e;?cfRiZuJ4*@%dhAya|Tod|PIw zD3@Gjz25K26N{?Al0DzMAJflPshxB=?%tH`m47c^x_=j>Y*vi~(F75Wx(AyV{ zQ6@E3MZsfmLFT@m41Hefj0}ZEl9uVimc!}niOgFmdPCxMn+A=BG5XIIGO7#b9e&)}22MZk9RK~q zWzS>O!^M-(lhUQsBmV5ynciv3{=1%qX}K<|;mbVg$rWp1OW)(Tyv$&vZ%A0d^`UX7 z%@IGt{ql^93nPTW5aIsNcA~1lRJQ{6jpDB}J0D1%HHrAAj8_Rq?2gU%+)ynL>cXf$ z=cJs_R@tc>ZX;R(s+cQ|@ORo$Vg^{<(HO8(%dJZ97&y zdZr~ZMkyksb=PEbHKv|WMY$fE6heI&Xz-ADha>Lkp}v3Hp>XzvAsweu>=puXZi4iB zL&VA%{dq%AB1cjg!?;$Q(A&& zLjtWvO59HZk|6C46L=rD0Z&Z`ctb=V!Xtr}^E7u)J=9tv>6h3JwmYv6GHrBKXMrgh zH+AI?Jtuprf825SR-r>Zq8)DQnWu~=-4xLj?r|O}Dk{{YSQ({8-;HV)q4naPSdyP$ zs$RVo!l|MOzEmelT&##!Y*}nWv=IFb0D@xd^(GuZzai?%UC*0-P2Cc!i#ZfQL zdZvwC8mBh*j$T2$DduS4vw2Z(bpH!RFS-C#p-l5yPyWNjfO-@PjN>;26#POzJkFP^ z@*9`E2d`Nfvxr`^3uIQuh`G_y^n;S`^vy zJ1(0gH1O5mnHJi=I7>xJ$AK_)APYc4_?UtjJ_qxnBI7^pL|6w=d10|eLi3^oX}RS& zCW1s>wdEJ66McRC6?uw%iogI>S+e?9@(wY{(+}L?VU3Zb{e!0dRWiSc1#vS3zGGh! zReUI3Ul4SrprX*GP|Wbi*vt@bSZpL~xNaa_9D}02ccnreqsoeJ323?Z)A6Iclf835 zmPMuvSwQs-^LxLH)gSdoS|!>M*Plt25aYBOuL$p$j<;~C0KM>X;Nu(PAxnqfO{?Tp z29C`wU+*--C}jF${m3ysDSSfF;xA!yY^pG5c$x7gkD-Xa_(3{9!Ki^=CaGw%$RRgB zzgb^ZJ=Pm625MtkV@a8K_i+Z20a>v3ss$3}aZn!0+#kJdK=TkzeTO|2b~4VHbP zt$-2y_07ZA$1#7g{p)1>9wJ@38p$=9XNor2e`eHg9G&0{s3`n&>`R>U~=<*+WaP>corAF-!b$@^YmEI{^b|JO~Jp7&PFyy;*Cj-bMKX?o@cQbqbwtd zp|`^WOCj27@|AK-%3h@>Uw(>?=bMYIrT5Izq0^HWo)zfxwEZ9=pNgDtZ8>AQCJaOC zbs}$P9%1GzDJxkMz)B*Rs+o4+L;e|MsA6qA?NikHm9f!krJ9g`JJ3||Rb<@4i+kCs`YX*CD2dmq2tL1B&I}sPE^J4W$R9yH3%#plM1PYDNT|aco9P0UdMBM^8p$+6P?YZFC*%$65_s7?vIuK zjA5;0{>1!+eOJi)Olz3*uUpq4CSG zhW$bXM_P+X`)s>wJC^4n{$Fq8Ch~n-KZ{jA{AS$F`iHF~D%T1l*9t&TO?Vgn{c=}4 zSh+#|T>y)=JD<{Ns9$5{IxdOP8J}}yR;ACs^6KZci|MzWq!p{(vF^#@wktov>v?gv ztMu#o%{f-LDeu$keyoxhL!uQ9%16fs|A5Auh<;4V!dU?#M2 zB0(U;VN^0!c$7>jk8c}qO=yK!jyRtMK;Y6n^FELuE{MpJw+4+!L1+-A9#r9%C_!*Y zp0tI7+hgp-E7~&q+1f}-+L>MyNDmUMy}1P+mEJzMC$S9^@p&1E+1R>4q^?KNR(HZUe7}G9|^P>g>Vgn)IV9r>p8I>Cd zMN#X(i-aM&MChf}zhl-a}0#*-#}Z=#X*q;K&}YD5N2T)*UzH z@u5sPk`!E>m?1$=%p_21SDrqu^kXpuJ;8kp#zoS~!H_QC&94aWOZ|08;uDs%|5I~A z8~$Lq@OUU6`njF8ycy&1T_2MfAGZ(*)(7rBR11jo2PRp(DXw`E{|_(w2rS-@caoed z*DF1~PCoO*=xJwFf#7#N6zaZ!hQUpxM1BRKC2&1aihLR=|0svC-z)@y#8Lmz0=kou zbiOU{Ubm{IM-KwQ%&dwa#U-LrA8gl&_H%LU>pdQL{TpmiZq%sA4iQh@ zGT~%)V4Hn@7-wb=lPc~Wm%^eiq$8N;L15Xy(_rwAAG@m%6bp?9f^DkTAL-|sYA0+j zFZYFP1O;D=;KQ{y$j|RLM2b_oT@Ez7P?64Nc8@$0Y+D z9fs7QOqK2FQeD+dp-tDuHPP=j9g5oK3CYQ|PAg)KMx!l)+}x-C7Mu*rXS`x^<_LxG_1)LrRR0Hq={7=_blcydE1I1aF{g-`8=Phe7S<+_&V)xk-l@ZP+GB^3$kw-_?kc#;dXcZ;2UZ z-i84uz;ttS%dd4+;!o-lC8QscMx)Qy+T7TXwhJ*6WM#E$!{7=`53Q@?ub!i*D#_2c zFf}#JS{B}>%hqyvRJW+4#zqen6%`#fSeT!;T;xS0QU_eE_Vl3c-~9glyZzy!g4C1T zH&NA4mnE5=o*p-yDO$*7O`3}&9m;}7ipq!Y~ zSj2tjOsW5481BF17@Y}u)6vF)c{56-({YiwlQMIM=)y3-Ss=%@rZIs7t6`g(|3;)l} zvz5n(%W-oIv74QIyV>u(Uh)XZvt4aX$>K@TyOZu1V$KwKI?L+o^W90S(Tudtmc-Q5 ze%!dk?Cdc`ZRsP45`!A+aYfEnX+s5Vmg%lAEU**T5#o1dO^S5UuJ@1c7cO6Zl&4cn zVH+46bQQ`3TV`Qlv3hCE_a#%m5^Zp&o5esi;aJm zeUD>*YpJO@AN;OTW8%A57NJsAS5Gh~f9iC0d%xoMcO)E#oZtSpnvv0gYhzb=Y7il- zPRkuIY2pYaVFWVD3`qv%ZSK2x4NL@>f%p3+tjP*9)tF&4yu3+m?D`FpIvtxssrwf` zC0dx>m1Eo02IVzqiflyNTU#FP?#`Dv8YSPpeRFkng`tvCQi{55eb6a=+enN^teLZy zi>E4_oilkjOU(|r*|n=^?fcP51N{MD+@Im9&Rz1ecZ)GuE!#mq^Hv{=}QhIV$C8faijJOaeT#K-fsF*?QW zLa+7p=fbdvd3bmRhlV;Yj*c9&$K-}EN8$tTEU>$c{Z3_cA`HrjLg2{?z31vQ&^(P2 ziZozm115_&Ugzg*?exJZ!lDZq9T4wFIBvipPz_vZVYatTfyKP9?^flEjUtH zMMX2cUzbkb_=y!yB4DWXWCi2aR6aYo&I6_2zTKQpsy?F@E7M|WHRhC22Q?S3fz*^@hZn9WVu0&DNfASX&|7+r( zKcSxD+_bxe3T#9b2DRU6YTTEa-p$R;1+nE2U{%nwOZFnU%_oSdu+FJOWNSF;+#jbadM8|1C(Y ztCvo5VOv>QRp?iv_q)I<%BF1r$b_I_J>0H53T3M7JQin1!l6GL7Wjp9`c1hY;@qMo zl_cckp=N@NjKx(|07D833&U0>r>1(09tt#UWMpKn9JsJ`wY4(^U1)HJ?+1vVbiWx& zVV5X?L-QC>;`=RX4LVzpC1G*v08YomAN{VR>5~S)slQ88N=Z*wR24@KhJ>3{=?$Or zf+B1^pHTd>QjP>2$elaPQ5FAA1`!=QH;6@fUOvFRgQ@nScT z-e^i+aaTB!74%C3Tjb44G+2_u!otqwd@P=Ib4BNMnpQS9Hy0NdgRfOp+-vjo@Ah?) z6$;0#cN*U}s^l^$lpfL{j^=Bz>?gq)_V@R9`{HAUk%WgavSDLm*VNZnvylP#`ggbh zL%qHa$TnhKwW$ql%BnV@i*o4kMj{DA4i2J2 zB*>qibU$;Nud%tMckXe^jH3ZCAlx09=^u#i4)`de;pr)_OfVIhJp(Ui-&e!+%W z-205q;X~!Z;p5%5cw_quPbzh`>JNfoOU#*Jw6wH`hlc<}%^cRiFE%hV1g%2xG(svD zh8gxWqT9UcBi)mp$hPb}rs%xSlgScrNP9q)9(eG}e1RDTQjh|5~PeG11i(SQ7jOCWTB4k<9J0RlQ6L1fJsb z$qAPt)WE=ik4#xdCq;_|2gq@J{E?B7^73*nY+@oJ4!z2tI80BWOkxfrYa5&Ah{U-k zh(x7wG)b5<3aX@OU*gcFV?8-ErF*r5YuLPsLe$57?#EkDZJMRi;H~`q{qytlU%q@< zlg|Z;Oh z*6Ql&G-ALk^x}F26Bh$I9v&VtGAMlXJGt1{+1X)Gqc*=ZkBj1>A|e6;2^c7s-Pq@- zlF$&Qo)*{$YR5@zB5Hj!BC-?tv`9Tc}c>bgg}%P3N`5P66l_ESE@0+HzWB; z9RioiRm&guYBf$B(l#-PUl&w+w8{=tN_=BtlHF_m1Qpq_e!-q!fS=#hu*F=-Rgn;p z2p)kdUXBhA$ddYnCm~>L3c2+c&+Z2kkC|6h)*bPrm3{wy^fQ4LY&8G?P_cPT#gi}j z_~-~QgQJ4s(9|KB!~!*@0%|%a4FM+7J_>est{PNEJtY(02#o9Oz=xNuR-Y6KCu7qi z!~54s!J?p`prnkozKx|tl<6YLC${*2$}iRJ?EmqDCxr)VSf$gH%X}|JiGdc{b$oew zeqK;i6tX$C=}P(1bt6HJD)^y2@{2@} z-n_;}{Sqx6w-}UQh$PIx!2#F8lquThxb^abtOXZI0qw3S$#RWNl17OZOS0+fd?$2B zERH?Zt6a4P`CwL4AHz!1&XIJ1PTGzG?|%GkLYRzttFeii8f1!gUX{m!DSGet*i(?A zBWTy783P03J|M8CLm+kNEl*mV{T$x%r_9XqachZpup1ieZizW$);K*jbTUFcR@yh~XdykHO|IPuJ{rHaGYF8LzmKRM+L%b2k?EVEV8d?ZEXJ~eM8q5eVzI%ul z2mIc{p_OWJadCL4xwHGi!ou;?;#tsurfUXAR(NzCU;wK=vMw%FW83MkR)l5Li&e9Y zn?2a8C0=on+&$bL-`?KR3XOK8e58FQ#YDhD5G?_hNTid5m7REygu75YLk~p`?%2N& zqIe1o$xtbl%||MAMj!@2-M=6k0g&nMf1jDEfh$nLLxMf7H4Ah_W9&|c%iUCoCa45` zeSMPf;56+1Qvf&VBPj_9oh_sUJ!{|3qs@MUngGuW6aqFnij2Avxjz#DvIkB?_xP`0 zfBs(kiBU_!z(}i@6~Foux<6B%-#p*+&hFK#?sTWNH0#@jIhX+J4nPb+DTUEYVS&I# zdh@EQD8{VcRTdb|?4?>PLNNVu9q?MHLF#g7A(>b(w27>PJ}=9XtiX-EzrRmTMRl~d zXYPQDj*gzf@tSN|TUmL;(5dx>+zRJIkJdL+lF{MeDcf3T$j0X8svwo}K!exmnuzvc zvOL{!+bzfIM-)M~9`mYR^G+^o60Ns9a|ERtD7i>+lob7duEedAgj0$Kh}>Bw$bZVp zqH+*Ei!r&Q$z@Bce(u4VW5m%8-ejkP?_>3^#YKvv4Mqfy`JX{-7!(z75|-rXJf`L) zF+RTYDNR*w#X&WK>B-6b*?nFfo}gm1kQ_ivWlE4!+)rpsqqLa_D4KENC>_1MUvg?s zqI6frk_+(gY9DwsD-?eF`W4E#0azSQ`Q10`g2F;}leP@~&tu1z5xRPGP-G}zaQx{b z`xjdq8*eNvRo>#hK@$w}r#_jk{P3MX=0Ev~TTT)bnc$C5_>lKci2j7sj3o5V&U4M94%AM+3Iz4EB8ru2i;r`adYc!QDiQF=$=!3G*4Wrs$9lv3@m~`Xu%4?c!EiIBYbYwRdx7%n*Gsb|fs|tW zT%^Q=gyRFpL@}G0p36unH^Sj0`b0_$n%dfgsFDWdbzi?m&hhc{&y0_|0ERi2{y9u) zm3K^}+T+mRga$UJp{wh8x+b&bU|8??R-5R;r?vfNy28iDC*ZPqMO#a2$6YALH%uxQ zDBYZGKm+qyTSeK~%Yj?)r!&-aQtnYpK9Mhd zDDd(dZ2`+?WmV)z$qImM%yLTfKwJkuY%-e&hDA5oMCN_HLaP%Zl zzNO{mps4`Tm{(>V}3`8cUMQPb+4Hd3dBaS1Q_W_DVF18zT1Hh2&&q^9b+cJ`_H#E>Spr@$)PLM8*olX- zT;U@UJ(?+H)Ums7Zg1NkZuSwE`iru$q#x9n2xy=@zGGEVxn6*@q^+nIPaZC}-fj#e z@ybu7IhnI)cXxNMy3q1zil_q=uF|8xM%TxKRWZ<@N}@`_P{$`Gc#_M7e`V(DPZw{h zmwf-e-0Cav^BN5KySu+*;KE#rR;b1uZR!`qfz42ICxa3kq{kM= z-&Hb(>3ey!RPRLXZ~_MT<+86+K)}QG-|hUvs}0we&<;$2`GL)|+v9feHBBz;+xrJ; zVF9k0svLM&#&Q!1pvDzOja{vsDFbhYQaP=f{6YT%!aBB%GLBb^YmFTr^Uvk9^lYZoLSE~l{R^J7;p59^*w{++a&Uv`uWC$MnwqaF!i7B!yntI~eFF%)X-o_ftMEc_>ouBNHH{sf0&JYyligsncEF{z%z z#x6iXK`C2j0X+O_n0Ku5$CV33;NKB}T{HnkM&KujjxT!wlJcLLi|&rWIgLWQ@DiDH zeLl2#24*%%xTIF5JRLa4rx7SS8fj^1=XfW*#3rCin`&zK=;`0u+n3eWCTrsua->GY z5THuh&6HK?vDMt+U}F#e*{Ipu+q=KLWF^3?goQ%X31lQ2`735iXZK}jaPP@sQPSeK zb7Nhlw^7o0qQ3uHuGV5qr>RIu!KMzsmu7h4oZI207=`9;Mtu5Z$OM6x20=wPT( z(lkf-6nf4pBFW!-%w1$<(e<{RDX6KbF${quF|RxUgrdzL`0dfjYWHx=;ug0htBg88 zLOUB9W=>As(&>Qq_U2|`Gpswt2rWdR2JD1j8EA)MLUAzu@T!!ap-Kizm}+##Yn1Sj z#h#<8BT5Cnj~yljN_>+Aj1b`JwF40}*7CDV9bctksU<(3mOFNr zE%6nwXSmZxq;fxQs)M}*MlTyV(2Hs;$vJznUb?BACg|h%t9*QXze)!HUjr*RWodEI z@9xSarZ*(dT3uZopdrA`xOLF?a9n+cq_zf0-x2EJ*R!l4QX1aLSy>YidU zX%I}$%%K0Xqe-yt4#xqe4m#Gy5ldm;fA$SL%>nm5MM>mbA|iLdwp$g9ga33J6U8u= zTfe+D@jZNzsd5P{B;M)ft*tFp@%yRcOHG0of`V5whEBkhsp8RPj&1_#1Waj~y+F*c zH2}JAwNITK9G2Px1I@oXYCg{*J)~(!ldo&SP_YUf(|fdvvF_~3G8W|F$A|$SfPbLRc`Ej9jb9fOU;g+{o@o#oEG&?7w`*EFO zky5#T3T*?xag4_)0t3XgQ6w*q5{e2M)&KV2;oaR`HZW0YP^>_n@J!?+NCFV6_;D?UGrHGYt%b~J_~%amN5FX?ib1o7>J{495MZL|b?vZrsCTzmO@yW$(XCma zZF0QqU;3uTl;yL>oT3UC>!;LIxoR^NTOSDHDDZisq`NXcYOxS<#e~vNte*y*d6)I~ z_w`8-k@d6U6*M{9M~)f2NWXdnrw~D$4@k6N93XVB+x%YM;X117TUs(O$(8DqA`;z& zGSBs$VW_|sH01&|lMx5;S7{I)flxs2SUwTBij1mRbO^jRSu!I0sd-Ev83mbvs|cL) z#>PgbXdnoU8(qUlU9#DFqgk$&}@+Vib&eMATU%`SFqTiEZ4%QHek+FFwZkr)~p3Itt= zRvr@>W>|PcL_07tOY^b&F6!;9!8f1_m-12&j@Ev-1Ju z3(QNX{Sg?~e{$pqWB>=jN>O*Vf3HwD56UWmR*u8CMNnq@5(wdZ=1+h$4A5)4EPM{a zC+a}(aAAk`tN_`MC=aAV{P%}XH%ovrIsiuZSSSE1{42q2qNl9Qi9 zyS_l#iLm6mzm=3AX_6rlfyYM)%zshQ8Z&cH#bp+7$?^YEI}radlMw((LBh>L83IpJ z`Y&yJ$wthz(&N^wsQzhopOTuoe$IYG~86@;gM(ruqIbm397nYb40ZCb^%|WQL~3K9JaBwg^ZNP1U|zqkP9FjjBAJtYEav9 zp+w zP3_m*+`y89$$x7l_f>=`3A*I4roMXvV|8T&Ct-$&e6?HO(88Z6|;ag zoB;)=dBAH-C&y+j4GbIrcD}yCznmKErd=3iX`y+b=2=((1SKob%cuvm2S)pRn6};g zmC>MDXf-iCEu$NbR4CWco~gpfTlB50%-%pf+U5Cpzrec&{C9%3v%ovHUunw(()RC` za*n$4W-A>cOW4zKq0V7d8Cc;4E#A^?AVdPC3;Hf3@?8iV9Row(sxXJ?3(&#vVntb6 z=8JEUe*}%y)L;&MpjV`%tAH8-gwwKQ066}|lP;`RN3%8PLG^{>h06*Q=9N(pfq{s)aH+^7>?9(jdqSVLk91t(#=S zhCrTB{&yDu6Ds-Z?lb|S1bR^WLMp_zaRdTZ|j^G}YgA7*ACU@qlTM-ll+(aM;h=_z5h$o{C?|8wyIKbuw(qm|si(gY%FR;ciF)?X`s+*gdy4KZSDxe`bWbzCBnhjn% zb{5226e1j@Y{2+{Lx-5RuNxj#n%P>h=a(xxro=`E$HtM0r4-AP#%3goiwf-U-Net{ zC0||&#sR$()bT0=e&BI?xKN)jBOCO}RnkG=CJ#6|_~aq*ajAbWRHXjG(IL;z)OdNL z$QaNN;7tMSLl5l)S%kOHA3jTHm=tJ5q8Q0?iJN_BSeLa1n&iioW7Y4~Nq7bo6T9vJ zl!vF9Xhj6r3Z<~=bv32K@lwp~%klw|8? zd9RCKpEw;5F{wkHWTKPf%IQ6sr8?yXgyXH4QjPfKT~};Kr03&ZrSo2q#dR_wutKNqc;y$A z_Z0w&H6MW4?Z07<|DYj1M@QoHIn{U^rv*{w`L+(SCAQrpw1H`zBHw`Z{L;) zs}r<>1mDStQiF05Tg8IfH;4l zkc0u`w3x?w!;@xEj!xeU;vi5?9UTx&>rV=A|0CgiUEQ=wKX*A++Ugm&MSW5(gq~hC%B^G)pK*Km+oQZ}*q{9Cagu+1Y z4qR}J=a@@;-yN_dTu}@zY~E)Kom?LX%h3+dNWx{bip`b$3P7MAnY;L>;OKWeql>(% zYW%-ub0P<XNmePyeV;G_0?3sm~vJ7)+XLD=;7u^?mq`+J~>? z3FQ#JB;m9|l}C7jN}n9-)8nR0ZL*h^mWDCbskXBs1KXSR&9=XK04@)FkYH2p`vO1{ zh8y4^@P^i}+;FkFcLXx|%DTB~OuHeE+pzYPXK`PlP9V6n|D5z7m7r-6`F6~`FAh^&$nWE++@X=Z09WX#R zfPUGnrv~T`pnFSr>I)-T2QQWiPxcyZR5A|mbn0xUS#+2pHA<#--4`)TPKPl%2ER?) z0@qogFj1ba)6|)TS?CF!Hgd2j0B2l_P>@;mnn&qLezD4uQ0HT0l%q-bCGLvd4XOuR z{o$M83pOVLuDM_ckg>1WFuL={t!W;*fYn=|9{l9F_Wzu_A3uH^9N3rZkXJ>zFVc=5 zv8WNmdW;eX`k5y7Z=1F&HFRwWa*wMv~%wzheprJuv}|1-64 z=>~YWoiS8YY&WC+QgI0jr8ZC*LIBfSoYc-J&jBa|$lzTQ;D1A#0#3`o7;hPR^=cgryBlb=vP@0T;#5>we5fMe zDU}#v^l-`gT~ddpCngeGHlvRr;ARXLi8Kr~+$;oc#F5%-o~H2TZN_B~Kp7DI;QnPP z*V(U;dIj?GNaogbP4_LLkKy8>WS1^kr4onBCo;c|FTvPX=B`jK(L#QeYEZ5NUW0=w zW??34$5r6|1Bi$-LczTWL?Tg4A-LHUjj!$F)1*?I|F;872to=Vi#YX8X~0oQfashg z!)LEtizRkzplZ&ZO_)V>SRNXW69k7+^cN?OjMRJz7g*Zde7h!(jF`s$b0Uj{8q$y| z+h~VyELoe$SThE}6n$f1H0}6H81!Uo(ko$617IWQCH{2wzR=a&sP?yJ{2%F})*Ga9 zO_{gA1rW#jemgA@&n}K91OuR;xUkm+#kjd~FExZcUwVdU^(^b diff --git a/examples/screens/Picture 48.png b/examples/screens/Picture 48.png deleted file mode 100644 index 95c165fd3530d1c8b67820103259888dca7b957f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7631 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 diff --git a/examples/screens/Picture 49.png b/examples/screens/Picture 49.png deleted file mode 100644 index 471824a295baa5c6add8266154f6cfab2b1e3b2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9028 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 diff --git a/examples/screens/Picture 50.png b/examples/screens/Picture 50.png deleted file mode 100644 index e231047e0fdf0a585f9303ca894e0c1635969ce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11832 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 OLQYCq@~4Ec&;J7qKiRGT diff --git a/examples/screens/Picture 52.png b/examples/screens/Picture 52.png deleted file mode 100644 index 9908b88bdf048a2b1675223f9588148cc3da0f67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11718 zcmcgy1y__^w0>zMBm|_pq@^1~x&@@A8$`Mpx};+OC8d!Zdg$&@>6Y$psr!ESKioTO z0gGA8%sKn){nQ~!T~!VngA@Y*0Bi+$X$|n_(0^a(h~RhBf*|k-oKLpz->WOUe^0IM z^2N&5!4d$xGNC%&yi=d=JKAgY``fEx849{AjBDZ!@7uK+NR(2)Svk-s$|!_7*wz*m z$kVbw)zyAzX~fGHq$Kf0ZQn#>?+EQYX5IKt_ t1j*ga}L@k{Kwrn0E9DYR5}b4 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 - - - Processing.reload() demonstrator - - - - - -

    Processing.reload()

    - -

    This example shows the use of Processing.reload(), - used to tell Processing to rescan the DOM for sketches - that should be loaded after DOM manipulations such as - swapping content in/out. Sketches are unloaded after - calling sketch.exit() on them, and their sketch bindings - are removed from Processing's instances list.

    - -
        <script type="text/javascript">
    -      function swap_content() {
    -        var html = "<... ... ...>";
    -        document.getElementById('content').innerHTML = html;
    -        Processing.reload();
    -      }
    -    </script>
    -    <input type="button" onclick="swap_content()">
    - -
    -

    sketch 1

    - - -

    sketch 2

    - - -

    sketch 3

    - -
    - -

    Press the button to swap the content for three different sketches

    - - - \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch1.pde b/examples/seneca/Processing.reload/sketch1.pde deleted file mode 100755 index 721f578d3..000000000 --- a/examples/seneca/Processing.reload/sketch1.pde +++ /dev/null @@ -1 +0,0 @@ -text("1",50,50); \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch2.pde b/examples/seneca/Processing.reload/sketch2.pde deleted file mode 100755 index 8b28f71c2..000000000 --- a/examples/seneca/Processing.reload/sketch2.pde +++ /dev/null @@ -1 +0,0 @@ -text("2",50,50); \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch3.pde b/examples/seneca/Processing.reload/sketch3.pde deleted file mode 100755 index 1d30138c0..000000000 --- a/examples/seneca/Processing.reload/sketch3.pde +++ /dev/null @@ -1 +0,0 @@ -text("3",50,50); \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch4.pde b/examples/seneca/Processing.reload/sketch4.pde deleted file mode 100755 index 683c52a2a..000000000 --- a/examples/seneca/Processing.reload/sketch4.pde +++ /dev/null @@ -1 +0,0 @@ -text("4",50,50); \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch5.pde b/examples/seneca/Processing.reload/sketch5.pde deleted file mode 100755 index f424abeb8..000000000 --- a/examples/seneca/Processing.reload/sketch5.pde +++ /dev/null @@ -1 +0,0 @@ -text("5",50,50); \ No newline at end of file diff --git a/examples/seneca/Processing.reload/sketch6.pde b/examples/seneca/Processing.reload/sketch6.pde deleted file mode 100755 index aee322fd0..000000000 --- a/examples/seneca/Processing.reload/sketch6.pde +++ /dev/null @@ -1 +0,0 @@ -text("6",50,50); \ No newline at end of file diff --git a/examples/seneca/XMLElement/menu.xml b/examples/seneca/XMLElement/menu.xml deleted file mode 100644 index fa43610e3..000000000 --- a/examples/seneca/XMLElement/menu.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - Belgian Waffles - $5.95 - two of our famous Belgian Waffles with plenty of real maple syrup - 650 - - - Strawberry Belgian Waffles - $7.95 - light Belgian waffles covered with strawberrys and whipped cream - 900 - - - \ No newline at end of file diff --git a/examples/seneca/XMLElement/sites.xml b/examples/seneca/XMLElement/sites.xml deleted file mode 100644 index 167d56f72..000000000 --- a/examples/seneca/XMLElement/sites.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Processing - Processing Mobile - \ No newline at end of file diff --git a/examples/seneca/XMLElement/sites2.xml b/examples/seneca/XMLElement/sites2.xml deleted file mode 100644 index 81df77551..000000000 --- a/examples/seneca/XMLElement/sites2.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - Processing - www.processing.org - - \ No newline at end of file diff --git a/examples/seneca/XMLElement/xmlElementAddChild.html b/examples/seneca/XMLElement/xmlElementAddChild.html deleted file mode 100644 index 718bcc440..000000000 --- a/examples/seneca/XMLElement/xmlElementAddChild.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - Processing.js test of xmlElement getChildCount(), addChild(), getContent() - - - - - - - -

    XMLElement Test5: getChildCount(), addChild(), getContent()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -XMLElement child;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  child = new XMLElement("Processing JavaScript");
    -  int numSites = xml.getChildCount();
    -  println("Number of Children before add: " + numSites);
    -  xml.addChild(child);
    -  println("adding Processing JavaScript");
    -  numSites = xml.getChildCount();
    -  println("Number of Children after add: " + numSites);
    -  println("Content:");
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    String site = kid.getContent();
    -    println(site);    
    -  }
    -  
    -  
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementEquals.html b/examples/seneca/XMLElement/xmlElementEquals.html deleted file mode 100755 index d3629bca0..000000000 --- a/examples/seneca/XMLElement/xmlElementEquals.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - Processing.js test of xmlElement equals() - - - -

    XMLElement Test for Equality

    - -

    Source

    -
      String xmlstring1 = "<xml test='monkey'>lalalas<b>moobles</b>ginger beer</xml>";
    -  String xmlstring2 = "<xml test='monkey'>lalalas<b>moobles</b>ginger beeeer</xml>";
    -  XMLElement xml1 = new XMLElement(xmlstring1);
    -  XMLElement xml2 = new XMLElement(xmlstring2);
    -  println("[original]\n"+xml1);
    -  println("[reference]\n"+xml2);
    -  println("original.toString().equals(reference.toString())? (should be false) " + xml1.toString().equals(xml2.toString()));
    -  println("original.equals(reference)? (should be false) " + xml1.equals(xml2));
    -  xml2 = new XMLElement(xmlstring1);
    -  println("[reference]\n"+xml2);
    -  println("original.toString().equals(reference.toString())? (should be true) " + xml1.toString().equals(xml2.toString()));
    -  println("original.equals(reference)? (should be true) " + xml1.equals(xml2));
    -  xml2 = new XMLElement(xml1.toString());
    -  println("original.equals(new XMLElement(original.toString()))? (should be true) " + xml1.equals(xml2));
    -
    - - - - - - - diff --git a/examples/seneca/XMLElement/xmlElementGetChild.html b/examples/seneca/XMLElement/xmlElementGetChild.html deleted file mode 100644 index 674e25b96..000000000 --- a/examples/seneca/XMLElement/xmlElementGetChild.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - Processing.js test of xmlElement getChild(), getChildCount(), getIntAttribute(), getStringAttribute() and getContent() - - - - - - - -

    XMLElement Test: getChild(), getChildCount(), getIntAttribute(), getStringAttribute() and getContent()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  int numSites = xml.getChildCount();
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    int id = kid.getIntAttribute("id"); 
    -    String url = kid.getStringAttribute("url"); 
    -    String site = kid.getContent();
    -    println(id + " : " + url + " : " + site);    
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementGetChildCount.html b/examples/seneca/XMLElement/xmlElementGetChildCount.html deleted file mode 100644 index f325a04c0..000000000 --- a/examples/seneca/XMLElement/xmlElementGetChildCount.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - Processing.js test of xmlElement, getChildCount() - - - - - - - -

    XMLElement Test2: getChildCount

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  int numSites = xml.getChildCount();
    -  println(numSites); // Prints "2"
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementGetContent.html b/examples/seneca/XMLElement/xmlElementGetContent.html deleted file mode 100644 index 597d3c2a5..000000000 --- a/examples/seneca/XMLElement/xmlElementGetContent.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Processing.js test of xmlElement, getChild(), getContent() - - - - - - - -

    XMLElement Test3 getChild(): getChild(), getContent()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  XMLElement kid = xml.getChild(0);
    -  String site = kid.getContent();
    -  println(site);    
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementGetName.html b/examples/seneca/XMLElement/xmlElementGetName.html deleted file mode 100644 index dca125986..000000000 --- a/examples/seneca/XMLElement/xmlElementGetName.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - Processing.js test of xmlElement,getChildren(), getName() - - - - - - - -

    XMLElement Test4 getChildren(): getChildren(), getName()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <menu> 
    -//  <breakfast-menu>
    -//    <food>
    -//      <name id="0"> Belgian Waffles</name> 
    -//      <price id="1"> $5.95</price>
    -//      <description id="2"> two of our famous Belgian Waffles with plenty of real maple syrup</description> 
    -//      <calories id="3"> 650</calories>
    -//    </food> 
    -//      <food>
    -//      <name id="0"> Strawberry Belgian Waffles</name> 
    -//      <price id="1"> $7.95</price>
    -//      <description id="2"> light Belgian waffles covered with strawberrys and whipped cream</description> 
    -//      <calories id="3"> 900</calories>
    -//    </food> 
    -//  </breakfast-menu> 
    -// </menu> 
    -
    -XMLElement xml;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "menu.xml");
    -  XMLElement[] kids = xml.getChildren("breakfast-menu/food");
    -  for (int i=0; i < kids.length; i++) {
    -    String site = kids[i].getName();
    -    println(site); //prints food food
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementInsertChild.html b/examples/seneca/XMLElement/xmlElementInsertChild.html deleted file mode 100644 index 8aafd4005..000000000 --- a/examples/seneca/XMLElement/xmlElementInsertChild.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - Processing.js test of xmlElement getChildCount(), insertChild(), getContent() - - - - - - - -

    XMLElement Test5: getChildCount(), insertChild(), getContent()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -XMLElement child;
    -
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  child = new XMLElement("Processing JavaScript");
    -  int numSites = xml.getChildCount();
    -  println("Number of Children before insert at index 1: " + numSites);
    -  xml.insertChild(child,1);
    -  println("adding Processing JavaScript");
    -  numSites = xml.getChildCount();
    -  println("Number of Children after add: " + numSites);
    -  println("Content:");
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    String site = kid.getContent();
    -    println(site);    // prints Processing
    -                      // Processing JavaScript
    -                      // Processing Mobile
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementListChildren.html b/examples/seneca/XMLElement/xmlElementListChildren.html deleted file mode 100644 index df92a2923..000000000 --- a/examples/seneca/XMLElement/xmlElementListChildren.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - Processing.js test of xmlElement listChildren() - - - - - - - -

    XMLElement Test8: listChildren()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//  <site> 
    -//   <name> Processing</name> 
    -//   <url> www.processing.org</url> 
    -//  </site> 
    -// </websites> 
    -
    -XMLElement xml;
    -var array[];
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites2.xml");
    -  array = xml.listChildren();
    -  
    -  println(array);  // Prints "site"
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementRemoveAttribute.html b/examples/seneca/XMLElement/xmlElementRemoveAttribute.html deleted file mode 100644 index 5821eaefb..000000000 --- a/examples/seneca/XMLElement/xmlElementRemoveAttribute.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - Processing.js test of xmlElement getChild(), getAttributeCount(), removeAttribute() - - - - - - - -

    XMLElement Test5: getChildCount(), insertChild(), getContent()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -XMLElement child;
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  child = xml.getChild(0);
    -  int numSites = child.getAttributeCount();
    -  println("Number of first child attributes before remove: " + numSites);
    -  child.removeAttribute("id");
    -  numSites = child.getAttributeCount();
    -  println("Number of first child attributes after remove: " + numSites);   
    -  println("Does the 'id' attribute exist?: " +child.hasAttribute("id")); // prints flase;
    -  println("Get url attribute: " +child.getAttribute("url", null, "anna")); // prints processing.org
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementRemoveChild.html b/examples/seneca/XMLElement/xmlElementRemoveChild.html deleted file mode 100644 index 9cd77dca1..000000000 --- a/examples/seneca/XMLElement/xmlElementRemoveChild.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - Processing.js test of xmlElement removeChild() - - - - - - - -

    XMLElement Test6: removeChild()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -XMLElement child;
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  child = new XMLElement("Processing Mobile");
    -  int numSites = xml.getChildCount();
    -  println("Number of Children before add: " + numSites);
    -  xml.removeChild(child);
    -  println("removing Processing Mobile");
    -  numSites = xml.getChildCount();
    -  println("Number of Children after remove: " + numSites);
    -  println("Content:");
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    String site = kid.getContent();
    -    println(site);    //prints Processing
    -
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementRemoveChild2.html b/examples/seneca/XMLElement/xmlElementRemoveChild2.html deleted file mode 100644 index 2f2e898f9..000000000 --- a/examples/seneca/XMLElement/xmlElementRemoveChild2.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - Processing.js test of xmlElement removeChild() - - - - - - - -

    XMLElement Test6: removeChild()

    -

    Source

    -
    -XMLElement xml;
    -XMLElement child;
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement("<sites><site id='0' url='a'>A</site><site id='1' url='b'>B</site></sites>");
    -  child = new XMLElement("<site id='1' url='b'>B</site>");
    -
    -  int numSites = xml.getChildCount();
    -  println("Number of Children before remove: " + numSites);
    -
    -  println("removing "+child.getContent());
    -  xml.removeChild(child);
    -
    -  numSites = xml.getChildCount();
    -  println("Number of Children after remove: " + numSites);
    -
    -  println("Content:");
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    String site = kid.getContent();
    -    println(site);    
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementRemoveChildAtIndex.html b/examples/seneca/XMLElement/xmlElementRemoveChildAtIndex.html deleted file mode 100644 index a71715034..000000000 --- a/examples/seneca/XMLElement/xmlElementRemoveChildAtIndex.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - Processing.js test of xmlElement removeChildAtIndex() - - - - - - - -

    XMLElement Test6: removeChildAtIndex()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  int numSites = xml.getChildCount();
    -  println("Number of Children before remove: " + numSites);
    -  xml.removeChildAtIndex(0);
    -  println("removeChildAtIndex(0)");
    -  numSites = xml.getChildCount();
    -  println("Number of Children after remove: " + numSites);
    -  println("Content:");
    -  for (int i = 0; i < numSites; i++) {
    -    XMLElement kid = xml.getChild(i);
    -    String site = kid.getContent();
    -    println(site);    //prints Processing Mobile
    -
    -  }
    -}
    -
    - - - - diff --git a/examples/seneca/XMLElement/xmlElementSetAttribute.html b/examples/seneca/XMLElement/xmlElementSetAttribute.html deleted file mode 100644 index f32dde450..000000000 --- a/examples/seneca/XMLElement/xmlElementSetAttribute.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - Processing.js test of xmlElement getChild(), getAttributeCount(), removeAttribute() - - - - - - - -

    XMLElement Test5: setAttribute(), getAttributeCount(), hasAttribute()

    -

    Source

    -// The following short XML file called "sites.xml" is parsed 
    -// in the code below. It must be in the project's "data" directory
    -//<?xml version="1.0"?> 
    -// <websites> 
    -//   <site id="0" url="processing.org"> Processing</site> 
    -//   <site id="1" url="mobile.processing.org"> Processing Mobile</site> 
    -// </websites> 
    -
    -XMLElement xml;
    -XMLAttribute atrib;
    -void setup() {
    -  size(200, 200);
    -  xml = new XMLElement(this, "sites.xml");
    -  xml.setAttribute("width", "100");
    -  xml.setAttribute("height","100");
    -  println("adding width and height attribute");
    -  println("xml.getAttributeCount:" +xml.getAttributeCount());
    -  xml.setAttribute("height","200");
    -  println("this element have the attribute width:" +xml.hasAttribute("width"));
    -  println("this element have the attribute height:" +xml.hasAttribute("height"));
    -  println("this element have the attribute style:" +xml.hasAttribute("style"));
    -}
    -
    - - - - diff --git a/examples/seneca/arrayCopy/arrayCopy.htm b/examples/seneca/arrayCopy/arrayCopy.htm deleted file mode 100644 index 373ffc233..000000000 --- a/examples/seneca/arrayCopy/arrayCopy.htm +++ /dev/null @@ -1,106 +0,0 @@ - - - - Processing.js test of arrayCopy() - - - - - -

    - - arrayCopy() test

    -

    - This is a test of arrayCopy(src, srcPos, dest, destPos, length)

    -

    - Copies an array (or part of an array) to another array. The src array is copied to the dst array, beginning at the position specified by srcPos and into the position specified by dstPos. The number of elements to copy is determined by length. The simplified version with two arguments copies an entire array to another of the same size. It is equivalent to "arrayCopy(src, 0, dst, 0, src.length)". This function is far more efficient for copying array data than iterating through a for and copying each element.

    - - - Test written by
    Daniel Hodgin
    -

    - Source Code:

    -
    -// 	arrayCopy example
    -String[] north = { "OH", "IN", "MI"};
    -String[] south = { "GA", "FL", "NC"}; 
    -arrayCopy(north, 1, south, 0, 2);
    -println(south);  // Prints IN, MI, NC
    -
    -int[] numbers = new int[3];
    -numbers[0] = 90;
    -numbers[1] = 150;
    -numbers[2] = 30;
    -int[] added = new int[3];
    -arrayCopy(numbers,added);
    -added[1] = added[0] + added[1]; // Sets added[1] to 240
    -added[2] = added[1] + added[2]; // Sets added[2] to 270
    -println(added);
    -
    -String[][] codes = {{"ON", "QC", "PE", "NB"}, {"FL", "NY", "TX", "CA"}};
    -println(codes[0]);
    -println(codes[1]);
    -String[][] codes2 = {{"NS", "MN", "BC", "NF"}, {"IL", "NJ", "WY", "OH"}};
    -println(codes2[0]);
    -println(codes2[1]);
    -String[][] combined = new String[4][4];
    -arrayCopy(codes, combined);
    -println(combined);
    -arrayCopy(codes2, 0, combined, 2, 2);
    -println(combined);
    -        
    -
    - - diff --git a/examples/seneca/arrayCopy/arrayCopy.pjs b/examples/seneca/arrayCopy/arrayCopy.pjs deleted file mode 100644 index 6dbe072dd..000000000 --- a/examples/seneca/arrayCopy/arrayCopy.pjs +++ /dev/null @@ -1,26 +0,0 @@ -String[] north = { "OH", "IN", "MI"}; -String[] south = { "GA", "FL", "NC"}; -arrayCopy(north, 1, south, 0, 2); -println(south); // Prints IN, MI, NC - -int[] numbers = new int[3]; -numbers[0] = 90; -numbers[1] = 150; -numbers[2] = 30; -int[] added = new int[3]; -arrayCopy(numbers,added); -added[1] = added[0] + added[1]; // Sets added[1] to 240 -added[2] = added[1] + added[2]; // Sets added[2] to 270 -println(added); - -String[][] codes = {{"ON", "QC", "PE", "NB"}, {"FL", "NY", "TX", "CA"}}; -println(codes[0]); -println(codes[1]); -String[][] codes2 = {{"NS", "MN", "BC", "NF"}, {"IL", "NJ", "WY", "OH"}}; -println(codes2[0]); -println(codes2[1]); -String[][] combined = new String[4][4]; -arrayCopy(codes, combined); -println(combined); -arrayCopy(codes2, 0, combined, 2, 2); -println(combined); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/774.html b/examples/seneca/begin-endShape/2d/774.html deleted file mode 100644 index 5b21ff9bc..000000000 --- a/examples/seneca/begin-endShape/2d/774.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/begin-endShape/2d/774.pjs b/examples/seneca/begin-endShape/2d/774.pjs deleted file mode 100644 index e09984d19..000000000 --- a/examples/seneca/begin-endShape/2d/774.pjs +++ /dev/null @@ -1,134 +0,0 @@ -void setup() { - size(220, 800); - strokeWeight(2); - beginShape(TRIANGLE_STRIP); - fill(255, 0, 0); - vertex(0, 0); - - vertex(50, 50); - vertex(100, 0); - - stroke(255, 0, 255); - fill(0, 255, 0); - vertex(150, 50); - - stroke(0, 255, 255); - fill(0, 0, 255); - vertex(200, 0); - endShape(); - - beginShape(QUAD_STRIP); - stroke(0); - fill(255, 0, 0); - vertex(0, 100); - vertex(0, 150); - vertex(50, 100); - vertex(50, 150); - - stroke(255, 0, 255); - fill(0, 255, 0); - vertex(150, 100); - vertex(150, 150); - - stroke(0, 255, 255); - fill(0, 0, 255); - vertex(200, 100); - vertex(200, 150); - endShape(); - - beginShape(TRIANGLES); - stroke(0); - fill(255, 0, 0); - vertex(0, 200); - vertex(0, 250); - vertex(50, 250); - - stroke(255,0, 255); - fill(0, 255, 0); - vertex(50, 200); - vertex(50, 250); - vertex(150, 250); - - stroke(0,255, 255); - fill(0, 0, 255); - vertex(150, 200); - vertex(150, 250); - vertex(200, 250); - endShape(); - - beginShape(QUADS); - stroke(0); - fill(255, 0, 0); - vertex(0, 300); - vertex(0, 350); - vertex(50, 350); - vertex(50, 300); - - stroke(255,0, 255); - fill(0, 255, 0); - vertex(50, 300); - vertex(50, 350); - vertex(150, 350); - vertex(150, 300); - - stroke(0,255, 255); - fill(0, 0, 255); - vertex(150, 300); - vertex(150, 350); - vertex(200, 350); - vertex(200, 300); - endShape(); - - beginShape(TRIANGLE_FAN); - stroke(0); - fill(255, 0, 0); - - vertex(100, 400); // center point - - vertex(100, 450); // south - vertex(50, 400); // west - - stroke(255, 0, 255); - fill(0, 255, 0); - vertex(100, 350); // north - - stroke(0, 255, 255); - fill(0, 0, 255); - vertex(150, 400); // east - - stroke(255, 255, 0); - fill(255, 0, 255); - vertex(100, 450); // south - endShape(); - - strokeWeight(3); - beginShape(LINES); - stroke(0); - vertex(150, 500); - - stroke(255, 0, 0); - vertex(200, 500); - - stroke(255, 0, 255); - vertex(200, 550); - - stroke(0, 255, 255); - vertex(150, 550); - endShape(); - strokeWeight(3); - beginShape(POINTS); - stroke(0); - vertex(30, 500); - - stroke(255, 0, 0); - vertex(85, 500); - - stroke(255, 0, 255); - vertex(85, 550); - - stroke(0, 255, 255); - vertex(30, 550); - endShape(); -} - - diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.html deleted file mode 100644 index 22ae7f3be..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -beginShape(LINES);
    -vertex(20, 20);
    -vertex(40, 20);
    -vertex(40, 40);
    -vertex(60, 40);
    -vertex(60, 60);
    -vertex(20, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(120, 20);
    -vertex(140, 20);
    -vertex(140, 40);
    -vertex(160, 40);
    -vertex(160, 60);
    -//vertex(120, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(220, 20);
    -vertex(240, 20);
    -vertex(240, 40);
    -vertex(260, 40);
    -//vertex(260, 60);
    -//vertex(220, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(320, 20);
    -vertex(340, 20);
    -vertex(340, 40);
    -//vertex(360, 40);
    -//vertex(360, 60);
    -//vertex(320, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(420, 20);
    -vertex(440, 20);
    -//vertex(440, 40);
    -//vertex(460, 40);
    -//vertex(460, 60);
    -//vertex(420, 60);
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.pjs deleted file mode 100644 index 09b2fc73d..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.pjs +++ /dev/null @@ -1,46 +0,0 @@ -size(500, 100); -background(200); -beginShape(LINES); -vertex(20, 20); -vertex(40, 20); -vertex(40, 40); -vertex(60, 40); -vertex(60, 60); -vertex(20, 60); -endShape(); - -beginShape(LINES); -vertex(120, 20); -vertex(140, 20); -vertex(140, 40); -vertex(160, 40); -vertex(160, 60); -//vertex(120, 60); -endShape(); - -beginShape(LINES); -vertex(220, 20); -vertex(240, 20); -vertex(240, 40); -vertex(260, 40); -//vertex(260, 60); -//vertex(220, 60); -endShape(); - -beginShape(LINES); -vertex(320, 20); -vertex(340, 20); -vertex(340, 40); -//vertex(360, 40); -//vertex(360, 60); -//vertex(320, 60); -endShape(); - -beginShape(LINES); -vertex(420, 20); -vertex(440, 20); -//vertex(440, 40); -//vertex(460, 40); -//vertex(460, 60); -//vertex(420, 60); -endShape(); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-lines/p5_result.png deleted file mode 100644 index 2d2465513ee0a83d570d8850a4e3d52246c759b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1112 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD z28NCO+M1MG6B0^IK0B$B>G+w|5QmlmmHO9Pj?mv6{lX z+)N?CL7+ - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape();
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape();
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape();
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.pjs
    deleted file mode 100644
    index 811d057ad..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.pjs
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -size(500, 100);
    -background(200);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape();
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape();
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape();
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/p5_result.png
    deleted file mode 100644
    index da2399dc4bcc90358757d8be00ca8c8a34895704..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1681
    zcmd5-|3A}t9RK*-FvBeCkqEaq()rpq?kYCUTJEAL4ij6C@sOd+6ge|9C*7R7%8_{B
    z?opOToO{gH5-X{$v>wL9)=hIgE}YrJp)hmr<^G6%cz@on_xtgDJYS#J^Y!I@o*YH8
    zMLD4$2(pbh7=8qT%;tfef`q|$?RxCzU^8PKA%#J0&z&d10g)CO845ui7px7(&B56!
    z`(OeKg3u34%k0r9K?(#}ct(VW#^fi@D5InP3cwJf7kdI1ck@b1F%NQ^vG};rFAKMw
    z$@xPvuae?n1QPQyYCKCCG#3U;oZe4|HZy|}fg3UJY|l+qfh(NuIrK5zU@BHrZX6f1
    z%q>Qy$SFh#D-$Ji&taK-L5|{ldi}&sqmjZE)>b^DW8V5;4kfNp*!z#)qU~|WNF84K
    zbuJUJ7g_!tdAzT9-@7FBVVfaeL<^!MeOi68{bPkqNXW(7tfJ}LV+R%Kq
    zo#GhSRl79$l2726G3`(`j+};j{FRGbN@=e%mo~N>Gby|5vq9*2>6`e0rObcA8heVx
    zmgW|fJzr@avd0O&M4T`1dCoPMUG{y+!hF)8gHKA8F;jSW9awe&UqAb3n!lpwQZ5pr
    za5bVadlxlZLUSp+-Iw|_;Z4XEZ|r&;FWzHchx~R!e9nTA09ygymGi$CYKgp9tw<27
    z?d+9WUNRrM*&B06Wmv9z$(*Fs=WD#Xe6sc|c6KrF#C-Yvtd73wL$C#7^^A|N%J~s#8-ixcjiXL)$1x=slboqG5s9{
    zkydqBjzVsTrh05}N}V?0w@yg@!Wgc3*qz-d^3=Bw0Uk)|L9
    zustCJTX5ZB+3!CxzRs<`hR7&?9Vx6V3~bx_f=W>H;MRUl_pJ6$Mx$$4FCEC-Hj;85
    z)rC?L<%tPamfT@ewY<=0ADfhlgPa8lYBUhfa4be$-|CC>n+PX&+M^+_QAajNK?)dAkZrKJHA
    zh++c8YrULjrDFdbWV?v*qX0B9>~;4@dk9(<%K5e>l(yAWnm)Pc%K0RbV
    zSE%msR86lUp?%OAwzdKtLu+E`mjoA9{B%!khd$9H0H)?1#J*#=czo0vuc`eGYx~`m
    zoDUv#yZ0Mc{d9cv5M5*Ph{iu_2;tFI3v`^*^waVK`O`#GjO}l)zSqp=F{uTOuEvu<
    z)Zo=&^=nvGkges|ln=j}8fRB;!n|wj9o#md(adV^$q3!|*`{XIKQK)0LMj!V#?;4C
    zH><3X^BVw;(6EDAcu5XgjCi06TeBSmqM#1A_+f;+=18?&n52S$<Mq*~gTsIUh-
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.pjs
    deleted file mode 100644
    index 0dd4a7088..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.pjs
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -size(500, 100);
    -background(200);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/p5_result.png
    deleted file mode 100644
    index 079ef25f1efe2695faa4cd9c8026b7e9733d64ae..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1703
    zcmd5-X;c$u6b)el0Sp9XsemD;1L5!M1=+m=qUm&
    zfR;rO1W^fVP}xCnVU@5Lpvo2qTZE9%Z)(qJ`?LT0V`knr=gzzD-TTg)co!#YoV+XoGe2!9V
    zG$1&&g~-QUJ#7m@d}I_tj>FVeeRSC#4?y
    zMWgd&#}MU*LqU7V7)nDyTP=0_wwko%cBQvp=|Eh7mj(cG}FGcq($v7=6|RTY~P*fKVo?ITjR$55!rt)R=mS!rO7fPZQpt)wUqNPE4LT_Yy?_4Y*wT2K_}ySx@Lmo}^eDIO999pH
    zbi-UKFad9#Fv^t~bLbaO_m*X7w+puEy-^bm56{@4`;ZEY&X{4Gcp7%62zg
    z)D<0;I6L@QTuWz(dR!`5HEIa)WZLH`qtWgGAuCRl!YJR$*a@V(m)qzjKE3`?(nb6H
    z;)eQ)zl5w8ke2oNnzG|vkSAzo``eptvWtlmyA-?5uGUi?lZ`x`zgqJ=F(wFDBZ6rt
    zbOVOzf6F~(%x}?X)qFwd?R=Zb){ZHxyj~N5@Sn-x4@SFqLB=OvmA#R0=h($^Z7
    zaGIKE#|P`gjq65tLqB8VqFgc?6Z{rDxc0b?t2#3y+j_N4z3$s!pMj5$%_Z!Nwl!AVQj>c@c2oysuzWVzast@Xyt{;J6YEm90OLX|yKeUm
    zjw`uxCR2;w#))cW+q1F1Ap#~52GS;!<~_LW^e6*H9gq+=;xn2izT?bKbX**#*U|*9
    z#v-6Lq_Ck@YFDK&8|a;$#a3W!1>h=`Ul#l#NWvrSV4y~m!nT|CpNKfgsy&O*R(Q(t3Ty_Csw7NY<6}6wi6Vi9_L
    zdM~p@(i0i#MV$URX1|Y+18m$2=V%vs)hF
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -background(200);
    -nofill();
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.pjs
    deleted file mode 100644
    index 84fd5d48b..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.pjs
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -size(500, 100);
    -background(200);
    -noFill();
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/p5_result.png
    deleted file mode 100644
    index fe72977bbf7d04407973240c3c537b706cdf9d6a..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1685
    zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD
    z28NCO+M1MG6B0o0g}GV@O5Z+nbI>v6?)r0q^TmBg536
    zu3A@Oz3nHzp2E|VGt4hN{`1Y*F8@zZ!J)yyx^a7%Y-R@oBNIyr2$=xr>FQ}oYaHpAx-|WFN
    zhP^wtv0t%Myb!G*k*m7t!67AmotJ;j3vv_p)-T$n{K3az2RrM$-Y2&tMBnwZzj9{!
    z&DwM^Oo@A)?x#bC^mH=+^B?PGS;fKeeZhezLU+WLZNF-K@^vxOUWh6^{ZFettVekjg*q3DgHt^YGOjfi>n=
    zHcYq@%2LJ6vUshF*c6RVwXFTqtM)Y9vv<8K7@-aFK(>3S&HdKjpBi^faPR}We}T)y
    z{r&$F4zkZb_m|<0&w|wr1^iqs)1HN#m{(ewiL9z!e{!D8?!N!$&Mnt+>BjxOpx`jmxqR-x-JjRk
    zto#LD=nC{~6N(I2bYgvYK{WSmxmSNDUzTmOWjbW5u_3+XHpsy3yjProz6Xb!mx!g&
    zGv3~uilimM=^O$Qf&%Xx8z(aA*i7cT|K%^YW{hitgTXDY6vs}bwo=x(8R$a)<$fOMNw1H7WZu+yumH*mu&sKH7ja(OX
    z`DB{9ef-tdYJ{(I?2Lsk7~jv!yIjn|0gdLOx3lc>etvAveqAn&Fj6^v-qA0c*Y}yc
    z2xMY`2IS0$%j~`OKU4yDS|eO3WAiyHVt>`YgzR~04zMJ#)3kQw-|2kMv&xJSMm|nI
    zrd<8!$;V|PzWU+N0ad
    z)vvyAAxvC-u15C$p}(sVHQNqchsDmFok!vuHr%r0$QPUe%+`*LCvVRA^=Gqy_`Bt5
    zk7AklVZQm9ux|4FKNDN8E?IS+^9@+#+~$~n*N$t5zdJoK)bNl}_
    z?5l&DKj<~GgM$4-g537nPt^;!zu#WASdJ+k7M!2nu>JQw^6HJk9=`{wj1T2RDl&!4
    zDx#ISq9_G$HiP`l|8+RoNWGNVEOyK?g-DSt0`wONdgUTok6#<^_PF!B9
    zz>qQqmT)->ZYer69MA_AjQoS9U?i)QK4Aas$dwZIMmcj}Rl?xu>gTe~DWM4f$;z&k
    
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.html
    deleted file mode 100644
    index 8e64b70fb..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.html
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -background(200);
    -beginShape(POINTS);
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.pjs
    deleted file mode 100644
    index 85085d455..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.pjs
    +++ /dev/null
    @@ -1,29 +0,0 @@
    -size(500, 100);
    -background(200);
    -beginShape(POINTS);
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-points/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-points/p5_result.png
    deleted file mode 100644
    index 7cd8001d859c103a2b6c786bd5496bd1595b08d4..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1141
    zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD
    z28NCO+M1MG8<2m#2$kNJZS+yBl+v9R-*jPMg;L7p)0w
    zlQKB+pi$Yh%lwAyJdV_=yWjslc5Yx`WQu0mAN_ns8<53vkLlE1YXygf0}C380J7I;Nl0!p7(RVfu0R;n%1$Wq;OND@PQ+As>G%z$eGCsAFSTz|a
    zx8TlRpfCpym&W&l0drk|mOOpOE1=+z5a6(rzwMO@P)?&fA7pnk)2Uj65OqNX2Zx>2
    z%s}fTL;~J5FSP0e%AL9^jp~$&4R_YRwz~g)f+~OH{CP&wLzqrpGPg95ryLhavy8
    z-=(q7g+p{IIh0pBH*H{R^k<3tUR!UJ4o?1EEOLLI#w|$*1x9}lr^fe<4s(Gyq;Wei
    j$@2|NlBX#5{b3YU;N!YsH=P?;R4{nD`njxgN@xNAxb1_6
    
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.html
    deleted file mode 100644
    index 7085c37b4..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.html
    +++ /dev/null
    @@ -1,64 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100);
    -background(200);
    -beginShape();
    -vertex(20, 20);
    -vertex(40, 20);
    -vertex(40, 40);
    -vertex(60, 40);
    -vertex(60, 60);
    -vertex(20, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(120, 20);
    -vertex(140, 20);
    -vertex(140, 40);
    -vertex(160, 40);
    -vertex(160, 60);
    -//vertex(120, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(220, 20);
    -vertex(240, 20);
    -vertex(240, 40);
    -vertex(260, 40);
    -//vertex(260, 60);
    -//vertex(220, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(320, 20);
    -vertex(340, 20);
    -vertex(340, 40);
    -//vertex(360, 40);
    -//vertex(360, 60);
    -//vertex(320, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(420, 20);
    -vertex(440, 20);
    -//vertex(440, 40);
    -//vertex(460, 40);
    -//vertex(460, 60);
    -//vertex(420, 60);
    -endShape(CLOSE);
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.pjs deleted file mode 100644 index dc41e5dec..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.pjs +++ /dev/null @@ -1,46 +0,0 @@ -size(500, 100); -background(200); -beginShape(); -vertex(20, 20); -vertex(40, 20); -vertex(40, 40); -vertex(60, 40); -vertex(60, 60); -vertex(20, 60); -endShape(CLOSE); - -beginShape(); -vertex(120, 20); -vertex(140, 20); -vertex(140, 40); -vertex(160, 40); -vertex(160, 60); -//vertex(120, 60); -endShape(CLOSE); - -beginShape(); -vertex(220, 20); -vertex(240, 20); -vertex(240, 40); -vertex(260, 40); -//vertex(260, 60); -//vertex(220, 60); -endShape(CLOSE); - -beginShape(); -vertex(320, 20); -vertex(340, 20); -vertex(340, 40); -//vertex(360, 40); -//vertex(360, 60); -//vertex(320, 60); -endShape(CLOSE); - -beginShape(); -vertex(420, 20); -vertex(440, 20); -//vertex(440, 40); -//vertex(460, 40); -//vertex(460, 60); -//vertex(420, 60); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/p5_result.png deleted file mode 100644 index 72974d7c3b255bbf95fd32b9f6f021800c243db2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1568 zcmd^9|5K889Dh)pm?gwoU8%_}SC*-}xu!WGEDNn^mJ(?Vt)$F}K;P6j1U46#mbW{Z zmFJgAmjkC+GM}X=4!FKd#qCmO0@h=u_^}74qyuU{!ov>|p@F*wA|>&JEpN_4IA%fjNJewi{^b^P5Bq?3tK^7yxJ~^LC!_ zKx;2d8_Eb(%{8~u@V5|hJ~;cDDgEFizAR`Xoe6B+H&*IlDQ4nV?_Xl*XE8QxHSZa z`gRl%#k58r0*OjWq8i*K<~S51txGS3z1P?j(6 zlqa9M)pwIF$ZR~SB1Y1$>2*tr`Kh=3spO~NgPY&PDD=gg;iyOH-f266*mCbQR(W0i z)#UHlCOK=JA|dBZ#Y`47)cSy-Glg8d367GjR~+2l3^M+w>IK#>mH{JYZpQJU!)H^} z(#BBV#;}J!2Ntq|`2(+58y9|rOlKk`CXMX7c|kN%oNjo=oG+-6bSS_)-vjT+$D@z# zN}QlWsl$rgW?M$YT1U0})=tT{^K%udWw!Gz=lT5?g?~289oyGp3CRKyNcT2+ZpsLt)Em6Xr3|YgPRvN@B&VP2-+Qx)WP~A zc6sN{0>)J&DBM_p*QqFV*A79!yShdcOU&NX?--Lo zl)>kPmiCJKlsZ^MbeUnsG+oeqy5q1xQu(5+V1solO;B4UL{d9g_Uz|XD)VpJciV=; zYmhhO;~o1YfuqYGLCE zwaf6B56rk`Q_hzF@ z$Ga@NxVbDtMM8%vs+AGWG=y76E-MASSw?3MJGKnY?u1K6pU5f79j+9)H5`!{A?9N9 zpz6`-?)n@=d|}vC^~%y*KfZ;_q#E?TCYu*qkUkSo6w#|;<4QwF)>Ha%*TJFwJYLON zb+t?ldr1*E)if7RLqe@>rMd*%$}J?T=GyCNcYkv`*foCvBaXxHYR)yzca|XK?)H9c zqPG+|`+H(QlBFHYyHz$qoY+pXR(W#&vCB}(`V*rEGMMO#yi2a=#Sye)aJSpAX&zb? zJ@*DY0=I+s@F4u|mq#$XE*WyCa@zK_A?!0p3-*I`1V^`LilBobSm%(}PT?}Wr2M{U zA!;+e^6z+@-)e$mQ<^3nQNa+!*&j_3AHZtg5eKgaEY-u1iMKX4q4ur_%+q$62lc3g zqFfLvZt>6xEQ_ra<6V@pe*(evpnq^)&l#U=>n!10ME<4fCK0$L?8%v79l1c=x9_D= zJq&UdLDwH&mAFC7qI2uTpQ1B}f5`Q7!{W3!DZeMkzX%<4mzT7iO`?jZwIa~dXW$1k zM@ZI7Xmq%V-Jp$;DYTENA`v)(CISw-Ldt)cXgs*rweX-~J1k+0ldm diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.html deleted file mode 100644 index bd39daafa..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200);
    -background(200);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.pjs
    deleted file mode 100644
    index a0a1812fc..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.pjs
    +++ /dev/null
    @@ -1,111 +0,0 @@
    -size(500, 200);
    -background(200);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-quads/p5_result.png
    deleted file mode 100644
    index c530486ad20499f8936f3c65db1e8acd5f79ad2c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3609
    zcmeHKX;4#H7EV~2rDah-9T9@gNFeDJ)RDzzi8d~P1Q2)xfj|_c(Pl9yi(v^ZNC_ee
    ziF7H8wz5bP5<&w$5QtEK1ZC5Rk^rK4GJ=MdErvicFZNW8TJwKqs{HZZeYeiNXZgnV*&SOI0c)ypciZisM0_{uOEz`a*YFutM#M9M9F1=-
    zJZSh;5WaJw{jt599TBJ;p>@wK=G&-gXd61bXa&pR06Bl-e`40WUxx$0SkR3eXx2B
    zePbVq*7*}#V4+oF2$jt`F^X%B)SsT&I?9nPj5`L^PJxO&*)@B{
    z&z}*RvUJ6BT1=JN2)a7JoF&f$MT0|=;$t7G%$Mhgm3GccOuBs>_iDQi>x>y
    zHjrsv+Er&TwkFhD7i#sjXv;3b4;3}nd;$th{$oZ=Ta$bVc|6SrKx6*}d_YEuf@(5*
    zEVqzJ=H&=FP6Ri(&z+3f4!R8&9)aC0z(Y~G`kW~
    zs(TWWzlnC`xP)i*YW}{I$0XP02&9eELuS{);ut+4?8@_KX`Y(Q{ZYQJu*_S=?Q{nm
    z!#h2|NrM^wXrUZ6!{>WFn+u0Df8W)ES;rt)Cqjy)_UhsnmXDHny2-DM(LoT^1Pj%O
    z=#(^e%h;68@X}OKl`&9Q1~sk*n61`Q--{PW-k0;r9MD$jyKtU_#+JcW$}H7napHq;
    zdr>rY(gRHApwD}zo^gC6i1k;MjctMYJPnm8+fok~eg9_pa;_K?r|H2L4fcmk9!we#Hib1f^kB4@Dz7Cy&TYfQ
    z*oDlKsSBR|x{OJqr!IpzbaJ4CZNud2#E=_Noc7l9OH0|08XL2eM_#tw@_MPj!d&Rz
    zmYSZu=oDz0UXm0{8eQBcm%zMxmVHZPBLw;cvAr#kxuJ_aZN8wgyPC|o+BXm#OG9OS
    zM$U54TxCvqEB_T1f0jIMbve=x)S;L&Q=|fS03^V8V-w53N$JQmt2B2C
    z4V$3G9rSFMpS7TSyC$CsW7>sdKZUW(IPEUQ%g8BG{K7pQ>0m$~Jw1JXI7A_SJ{MxG
    z%BENFm)fPn=}&wd?|WT)57$$dHJ%I83E+oCwF4K8;T=f23dC>d}J{g_ZxulUo1CX>TbN3K~moNjW>KjK}Uhw>057>zCN^Sp1P2bbPZ
    zE1d*@#7@5J3&lVX$acYgARPB%PWp9pn7*3Dm2(KJ64rBN;-&2U{vg{N4YgWUaL6_Q
    zNJmSvA%!e()7eris`qE(1Nz)Z@{Ph
    zZ6pC`RX7*UJb+2qAFz@XA(Ga94-h*
    zBL0wXEp;k^S!7T`rx1a(n@xilCw56UCJWLcr8QIp1@xtOGg?r+Da!|&7wN%al$HJ&
    z{`gPhVkGu$hiqYoRChRf`1wR0#>e?v#@WA5}M?vYu`vLF)8~zKGTy~jjrenAs
    zeM8i}H-@C9VX18;)v*>{L1dhQPp=U1TFbA?{=0yf_O7rNcVcoj2)YbSD|po;tF3o#
    z^16sgZ92-9r3FQcUhQJ&8iwd5!7Pq7}acKVe5ed^K*n;4ef)geI$Mb
    z4QQm=Ee)Ey>hAZRRGu*sa@i6^S@ZwAEJKN8MeGbbGq`Cj{5ywm--~yv*%SWDKLLuh
    B$%p^|
    
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.html
    deleted file mode 100644
    index 91be7d20a..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.html
    +++ /dev/null
    @@ -1,129 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200);
    -background(200);
    -beginShape(QUAD_STRIP); 
    -vertex(30, 20); 
    -vertex(30, 75); 
    -vertex(50, 20);
    -vertex(50, 75);
    -vertex(65, 20); 
    -vertex(65, 75); 
    -vertex(85, 20);
    -vertex(85, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(130, 20); 
    -vertex(130, 75); 
    -vertex(150, 20);
    -vertex(150, 75);
    -vertex(165, 20); 
    -vertex(165, 75); 
    -vertex(185, 20);
    -//vertex(185, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 20); 
    -vertex(230, 75); 
    -vertex(250, 20);
    -vertex(250, 75);
    -vertex(265, 20); 
    -//vertex(265, 75); 
    -vertex(285, 20);
    -vertex(285, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 20); 
    -vertex(330, 75); 
    -vertex(350, 20);
    -//vertex(350, 75);
    -vertex(365, 20); 
    -vertex(365, 75); 
    -vertex(385, 20);
    -vertex(385, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(430, 20); 
    -//vertex(430, 75); 
    -vertex(450, 20);
    -vertex(450, 75);
    -vertex(465, 20); 
    -vertex(465, 75); 
    -vertex(485, 20);
    -vertex(485, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(30, 120); 
    -vertex(30, 175); 
    -vertex(50, 120);
    -vertex(50, 175);
    -vertex(65, 120); 
    -vertex(65, 175); 
    -//vertex(85, 120);
    -//vertex(85, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(130, 120); 
    -vertex(130, 175); 
    -vertex(150, 120);
    -vertex(150, 175);
    -vertex(165, 120); 
    -//vertex(165, 175); 
    -//vertex(185, 120);
    -//vertex(185, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 120); 
    -vertex(230, 175); 
    -vertex(250, 120);
    -vertex(250, 175);
    -//vertex(265, 120); 
    -//vertex(265, 175); 
    -//vertex(285, 120);
    -//vertex(285, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 120); 
    -vertex(330, 175); 
    -vertex(350, 120);
    -//vertex(350, 175);
    -//vertex(365, 120); 
    -//vertex(365, 175); 
    -//vertex(385, 120);
    -//vertex(385, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(430, 120); 
    -vertex(430, 175); 
    -//vertex(450, 120);
    -//vertex(450, 175);
    -//vertex(465, 120); 
    -//vertex(465, 175); 
    -//vertex(485, 120);
    -//vertex(485, 175); 
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.pjs deleted file mode 100644 index c1175eb3d..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.pjs +++ /dev/null @@ -1,111 +0,0 @@ -size(500, 200); -background(200); -beginShape(QUAD_STRIP); -vertex(30, 20); -vertex(30, 75); -vertex(50, 20); -vertex(50, 75); -vertex(65, 20); -vertex(65, 75); -vertex(85, 20); -vertex(85, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(130, 20); -vertex(130, 75); -vertex(150, 20); -vertex(150, 75); -vertex(165, 20); -vertex(165, 75); -vertex(185, 20); -//vertex(185, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 20); -vertex(230, 75); -vertex(250, 20); -vertex(250, 75); -vertex(265, 20); -//vertex(265, 75); -vertex(285, 20); -vertex(285, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 20); -vertex(330, 75); -vertex(350, 20); -//vertex(350, 75); -vertex(365, 20); -vertex(365, 75); -vertex(385, 20); -vertex(385, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(430, 20); -//vertex(430, 75); -vertex(450, 20); -vertex(450, 75); -vertex(465, 20); -vertex(465, 75); -vertex(485, 20); -vertex(485, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(30, 120); -vertex(30, 175); -vertex(50, 120); -vertex(50, 175); -vertex(65, 120); -vertex(65, 175); -//vertex(85, 120); -//vertex(85, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(130, 120); -vertex(130, 175); -vertex(150, 120); -vertex(150, 175); -vertex(165, 120); -//vertex(165, 175); -//vertex(185, 120); -//vertex(185, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 120); -vertex(230, 175); -vertex(250, 120); -vertex(250, 175); -//vertex(265, 120); -//vertex(265, 175); -//vertex(285, 120); -//vertex(285, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 120); -vertex(330, 175); -vertex(350, 120); -//vertex(350, 175); -//vertex(365, 120); -//vertex(365, 175); -//vertex(385, 120); -//vertex(385, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(430, 120); -vertex(430, 175); -//vertex(450, 120); -//vertex(450, 175); -//vertex(465, 120); -//vertex(465, 175); -//vertex(485, 120); -//vertex(485, 175); -endShape(); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/p5_result.png deleted file mode 100644 index d22d6a5d3ca932b1f844d911a4c557610c62f1c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4371 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 DL9r3z diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.html deleted file mode 100644 index 64672fb7d..000000000 --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200);
    -background(200);
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 50);
    -vertex(60, 15); 
    -vertex(95, 50); 
    -vertex(60, 85); 
    -vertex(25, 50); 
    -vertex(60, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(160, 50);
    -vertex(160, 15); 
    -vertex(195, 50); 
    -vertex(160, 85); 
    -vertex(125, 50); 
    -//vertex(160, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 50);
    -vertex(260, 15); 
    -vertex(295, 50); 
    -vertex(260, 85); 
    -//vertex(225, 50); 
    -vertex(260, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 50);
    -vertex(360, 15); 
    -vertex(395, 50); 
    -//vertex(360, 85); 
    -vertex(325, 50); 
    -vertex(360, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 50);
    -vertex(460, 15); 
    -//vertex(495, 50); 
    -vertex(460, 85); 
    -vertex(425, 50); 
    -vertex(460, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 150);
    -//vertex(60, 115); 
    -vertex(95, 150); 
    -vertex(60, 185); 
    -vertex(25, 150); 
    -vertex(60, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -//vertex(160, 150);
    -vertex(160, 115); 
    -vertex(195, 150); 
    -vertex(160, 185); 
    -vertex(125, 150); 
    -vertex(160, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 150);
    -vertex(260, 115); 
    -vertex(295, 150); 
    -vertex(260, 185); 
    -//vertex(225, 150); 
    -//vertex(260, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 150);
    -vertex(360, 115); 
    -vertex(395, 150); 
    -//vertex(360, 185); 
    -//vertex(325, 150); 
    -//vertex(360, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 150);
    -vertex(460, 115); 
    -//vertex(495, 150); 
    -//vertex(460, 185); 
    -//vertex(425, 150); 
    -//vertex(460, 115); 
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.pjs
    deleted file mode 100644
    index 6fd3b5e01..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.pjs
    +++ /dev/null
    @@ -1,91 +0,0 @@
    -size(500, 200);
    -background(200);
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 50);
    -vertex(60, 15); 
    -vertex(95, 50); 
    -vertex(60, 85); 
    -vertex(25, 50); 
    -vertex(60, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(160, 50);
    -vertex(160, 15); 
    -vertex(195, 50); 
    -vertex(160, 85); 
    -vertex(125, 50); 
    -//vertex(160, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 50);
    -vertex(260, 15); 
    -vertex(295, 50); 
    -vertex(260, 85); 
    -//vertex(225, 50); 
    -vertex(260, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 50);
    -vertex(360, 15); 
    -vertex(395, 50); 
    -//vertex(360, 85); 
    -vertex(325, 50); 
    -vertex(360, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 50);
    -vertex(460, 15); 
    -//vertex(495, 50); 
    -vertex(460, 85); 
    -vertex(425, 50); 
    -vertex(460, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 150);
    -//vertex(60, 115); 
    -vertex(95, 150); 
    -vertex(60, 185); 
    -vertex(25, 150); 
    -vertex(60, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -//vertex(160, 150);
    -vertex(160, 115); 
    -vertex(195, 150); 
    -vertex(160, 185); 
    -vertex(125, 150); 
    -vertex(160, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 150);
    -vertex(260, 115); 
    -vertex(295, 150); 
    -vertex(260, 185); 
    -//vertex(225, 150); 
    -//vertex(260, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 150);
    -vertex(360, 115); 
    -vertex(395, 150); 
    -//vertex(360, 185); 
    -//vertex(325, 150); 
    -//vertex(360, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 150);
    -vertex(460, 115); 
    -//vertex(495, 150); 
    -//vertex(460, 185); 
    -//vertex(425, 150); 
    -//vertex(460, 115); 
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/p5_result.png
    deleted file mode 100644
    index c9c486ba22e90e11e4fe55099114a1ba6be01aab..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4858
    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
    Tws;}^DwNe(JM$`2uiO6vX~|=3
    
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.html
    deleted file mode 100644
    index b02b54fe5..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.html
    +++ /dev/null
    @@ -1,128 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200);
    -background(200);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.pjs
    deleted file mode 100644
    index fced6a5d0..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.pjs
    +++ /dev/null
    @@ -1,91 +0,0 @@
    -size(500, 200);
    -background(200);
    -beginShape(TRIANGLES);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -//vertex(180, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -//vertex(260, 20);
    -vertex(270, 75);
    -vertex(280, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(330, 75);
    -//vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -vertex(370, 75);
    -vertex(380, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -vertex(460, 20);
    -//vertex(470, 75);
    -//vertex(480, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(30, 175);
    -vertex(40, 120);
    -vertex(50, 175);
    -//vertex(60, 120);
    -//vertex(70, 175);
    -//vertex(80, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(130, 175);
    -vertex(140, 120);
    -//vertex(150, 175);
    -//vertex(160, 120);
    -//vertex(170, 175);
    -//vertex(180, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(330, 175);
    -vertex(340, 120);
    -//vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -vertex(380, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -vertex(480, 120);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/p5_result.png
    deleted file mode 100644
    index 14fb854b6f84d2497b0a5dcc9b65e6a6d114be7d..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3850
    zcmeHK`9E7**OxrB!BunJ(pFleIst3r)6hf+hDhBn;x8uF-XDq1zQ
    zSCATW5JFm0YaWXj(nh(4L=|Zfp3~<)cz=68@8|vDoU_*6>#ViTcki{o>pXUHw2=@~
    z6cZ8>lCZP2z9J+9*#zZo7!cK{pRR^3u4sD*!=&J^3)&{`YSh4?pz;k31VKR|_!l_KK(ky`8g6b5tU&%Zjm+2J
    z4tB~JTWeEU)JW&B>fdP}IuHAe!G5Oi=`E(LR9^bvDN9!ze-PEY&6}cT?dl^McQ#T6
    zZnk{r6u*vyUPLgID^IJ?j%9?mWIMkSK?7m6{!Q8?rPL-=ZB9}(ao%Fikq0Q3XA`wG8DNxE1~Chj`Tax*-nxMarCaD?zLg2db`
    zd{nfgVwy+aU?jBW*gf|TqLGa{)_~-UbY+Hk1puc2&K=+o9Ll~2=ne+^g?#;b)7voL3w;PgHBLoO;b>~Bzh`RYN2Da
    z;!v(QpNI0vTv3`{#T^I`r5zgkeq{@Yhughf0lPN{boXUQ#i7hgH3#2h6CXbTGnkS)
    zQ6`TGw+4|YN@uzQHcDkYwa5r^6VI$F%ww%e-d%ZY6za$wy7(N0i1K#$?1hBp2L?je
    zW?ok}b9JMLPz^X<08m+_c-B`NG
    zGs>z4gSZG@Ju6JxAE!H%9u#QSQe1{H+sx+3bo*9crj?KdKzF7Cl|x@Ehl
    z-uk@YL03oaTF4+VNkWl=dY63cden=fT-477OB6fyesz>0`OqXW;Ozca&mzf{W>WvI
    z-9`QwNwor(Ois~a^foY|=;v$|TW@Tp*`=8nHg-{ez1&nW2tN2`w4%w7=p)BP?Ps50
    z3Jy~F)p*6~d{%StMr1|`ml6q=m+W0Pm^!KE$d#YIwW^BO8^;tA{r$(5jzfY?VvuHR
    z)odHg_(8x$z+>2i7usaw-FM6P$E+NeG1pUaK3AICekgErhmgI+s2>-YEa{FlPv^G=
    z+7D!EOG5ovHd?C|S)KI2Smt~^(-ejb_@JMPY)^JpiI8#vP^OLI{8)8Ob$(~%Gwz0`
    zekDUxJN+g9PlD1hbw2v;`1`!j5sWP6dOdtZma8TBx;S+qgu|JAaqaK2oDtW*ZHpw8
    zUK+12J~Qn9s9llID&D=-4}>TNK@}*09K!+}af?YHq5z*X<6H)@6l)O@29n9K#QZ)JS(Yv2&AkiI-R5A2E~R3aEv1dMH;oz8nr?b*znC6-{|jd}$JJ{0cR+GMD~ImI
    zt7KtBG_;l9m5-)itb=t`*(cBLr2LwP9Cy-jDW$(X?Ui>{ly5uapE6ldo%E#o+{emK
    zM(c}AqgTEjSW$jahz@SuFBR!jzUS(DUdnAYbi>!T7Du{8Y^2+hm|j!egBn
    z7)WB9@={!aY2U?op#)W7(yol}x)exyOB!(2ZrsyU@I5pP##enee+s0?hkwA$IS8hb#n>9Fv
    zR5#IUhsW29EjuMxSLlJ1kwOyQB5$U7x$WrL^E!1dg@{_ml}@8lU0TR6z3DUOnH)tw
    zL8J9&XjLLe8I6o#-*T9nCMZX!!_!zmSD+30N=L8|4eU&>vU
    z;f9x@R5I?XYhquDS4l~^NpFdj{>!5q#<$fL_^05s)$Uke3Qsrav|g6LnT
    zse9aSH|BR$88x`8Wq+@m&QzNSAYhj7%o{LxS{VjZ(r!Rw^xHV}8#F-NbIu)kM8Z2<
    z;RqZtwKpbif?INq^7V1F?<_qcg6ulktp{aNya8prA8}7_Yd^yQA;x~D_S)q3O>?lA
    zVrXwGNxR0Bxn@MRD>d!cf!hf&t^Y&QhGD<_sXFhBPuWhy8tju)ApI-|XiG5Dbhedg8oE_g-Fi@$NV_jm
    zn3M!g?BZy=`?M!G$uKJIn$OcOYye_vnVjJO>vY
    zOb(W0pS)atkIk*Ohg7{t1W#zGRe;TGDdgnclCNM5ZV9JJM0ag_>V{^yV&4m|gks_#
    z>}Rc{hYE03aa+`t*q_Gejix5naFTShaE%GFgkB4eoa4+&3C
    z-+oW2X5Z&kHc?}oQ_e`q8J=f7)JYoa809;QLy!E#7ja!l2blr)C?1C@8O*YaZ@Ug<
    z3M%5?zwKpL_V3&|CR<*UM31Ld?ang1Jx>!{<8EJa_KynY7$zY5v?=4f4I>G|M4
    D|HweE
    
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.html b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.html
    deleted file mode 100644
    index bd51261e7..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.html
    +++ /dev/null
    @@ -1,118 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200);
    -background(200);
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -vertex(90, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -vertex(180, 20);
    -//vertex(190, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -vertex(260, 20);
    -vertex(270, 75);
    -//vertex(280, 20);
    -vertex(290, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 75);
    -vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -//vertex(370, 75);
    -vertex(380, 20);
    -vertex(390, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -//vertex(460, 20);
    -vertex(470, 75);
    -vertex(480, 20);
    -vertex(490, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 175);
    -vertex(40, 120);
    -//vertex(50, 175);
    -vertex(60, 120);
    -vertex(70, 175);
    -vertex(80, 120);
    -vertex(90, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 175);
    -//vertex(140, 120);
    -vertex(150, 175);
    -vertex(160, 120);
    -vertex(170, 175);
    -vertex(180, 120);
    -vertex(190, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -vertex(290, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 175);
    -vertex(340, 120);
    -vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -//vertex(380, 120);
    -//vertex(390, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -//vertex(480, 120);
    -//vertex(490, 175);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.pjs b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.pjs
    deleted file mode 100644
    index 68b3d7db0..000000000
    --- a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.pjs
    +++ /dev/null
    @@ -1,101 +0,0 @@
    -size(500, 200);
    -background(200);
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -vertex(90, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -vertex(180, 20);
    -//vertex(190, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -vertex(260, 20);
    -vertex(270, 75);
    -//vertex(280, 20);
    -vertex(290, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 75);
    -vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -//vertex(370, 75);
    -vertex(380, 20);
    -vertex(390, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -//vertex(460, 20);
    -vertex(470, 75);
    -vertex(480, 20);
    -vertex(490, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 175);
    -vertex(40, 120);
    -//vertex(50, 175);
    -vertex(60, 120);
    -vertex(70, 175);
    -vertex(80, 120);
    -vertex(90, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 175);
    -//vertex(140, 120);
    -vertex(150, 175);
    -vertex(160, 120);
    -vertex(170, 175);
    -vertex(180, 120);
    -vertex(190, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -vertex(290, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 175);
    -vertex(340, 120);
    -vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -//vertex(380, 120);
    -//vertex(390, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -//vertex(480, 120);
    -//vertex(490, 175);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/p5_result.png b/examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/p5_result.png
    deleted file mode 100644
    index 43bc59488464210de56bdd58f15ed79beac0dda1..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 5631
    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
    WGw`Y{Nf$V@1(_IF=wtO
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape(LINES);
    -vertex(20, 20);
    -vertex(40, 20);
    -vertex(40, 40);
    -vertex(60, 40);
    -vertex(60, 60);
    -vertex(20, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(120, 20);
    -vertex(140, 20);
    -vertex(140, 40);
    -vertex(160, 40);
    -vertex(160, 60);
    -//vertex(120, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(220, 20);
    -vertex(240, 20);
    -vertex(240, 40);
    -vertex(260, 40);
    -//vertex(260, 60);
    -//vertex(220, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(320, 20);
    -vertex(340, 20);
    -vertex(340, 40);
    -//vertex(360, 40);
    -//vertex(360, 60);
    -//vertex(320, 60);
    -endShape();
    -
    -beginShape(LINES);
    -vertex(420, 20);
    -vertex(440, 20);
    -//vertex(440, 40);
    -//vertex(460, 40);
    -//vertex(460, 60);
    -//vertex(420, 60);
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.pjs deleted file mode 100644 index d7aceb701..000000000 --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.pjs +++ /dev/null @@ -1,47 +0,0 @@ -size(500, 100, P3D); -background(200); -box(10); -beginShape(LINES); -vertex(20, 20); -vertex(40, 20); -vertex(40, 40); -vertex(60, 40); -vertex(60, 60); -vertex(20, 60); -endShape(); - -beginShape(LINES); -vertex(120, 20); -vertex(140, 20); -vertex(140, 40); -vertex(160, 40); -vertex(160, 60); -//vertex(120, 60); -endShape(); - -beginShape(LINES); -vertex(220, 20); -vertex(240, 20); -vertex(240, 40); -vertex(260, 40); -//vertex(260, 60); -//vertex(220, 60); -endShape(); - -beginShape(LINES); -vertex(320, 20); -vertex(340, 20); -vertex(340, 40); -//vertex(360, 40); -//vertex(360, 60); -//vertex(320, 60); -endShape(); - -beginShape(LINES); -vertex(420, 20); -vertex(440, 20); -//vertex(440, 40); -//vertex(460, 40); -//vertex(460, 60); -//vertex(420, 60); -endShape(); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-lines/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-lines/p5_result.png deleted file mode 100644 index 0a5a1df283e7c78e5476f00eb20a674b85acdbd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1214 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD z28NCO+M1MG8<&u&0Y-NJZS+yV+TH90Xbe-`1zzoBCM1 z<$9d~|GJU}Oqr?F-JW7yZ7H`)eEvhd_n6 zK>2r&cq`MRxE&$Nf(i}~-oDnZx0m}b)T@7bhZRuG44n_5-_Ec3AN;F7{?6&WJN)BT zl`A_m9Jp@2_s;L{zxUqh-o4tnfuZpvlli{IAFD6q|2y|&f`1+W?%ie!#?koF{glngMyC2yTpRyK<_FjD!k)NO&=0sAGYj>|5@3VxOlmI z`O#Nz&)fa|J6ZpL*2=eQPBK;hJv)C7=X*C`L;&M*pTOnC90Cdkt`2vW=NzgA`YvH% z!w&r;Uo@ClID7;JzH83@AP0=w2n~gI+=jMYpp?OKr1q5B9(G{7iE(xOcJk?00!Fe3 zW8wTwobQ2YXW)#rkpJFo-}&Q|{QRcpwjf`HKB&2~-0#U=Alu=A>z!C8pr=HDiRocb zuM03S7nZXFWdeX+YxOo20{Z93U0DT(1_xjWi0fVT0D4=Xyc{*rJKVVoR5zjx`N6#C W{6&vT&oV(}4uhwwpUXO@geCyR<+ls~ diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.html deleted file mode 100644 index 548fb0027..000000000 --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape();
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape();
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape();
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs
    deleted file mode 100644
    index 9308f34cb..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape();
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape();
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape();
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/p5_result.png
    deleted file mode 100644
    index 1a287eb256f22b3bbda1344d2ca938b6824e4cb7..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1601
    zcmb_c`BxKn5Z{eK5-GZf5DOYtu%-|ND-RJBT@g7vh;o)E5G*LIR$xUy4QYbUBLNj#
    zya@>M^dVvpkLPM2K?zbD0dG_mg0YICBq~RQfOPmD`okXIo&C(rXXY~_Ul$r=JHcrJ
    zf*`gb!2w|ig7(3C5{m)%(Q}dR@IceUg8UI>^R)MHU?wkLyBtBP^KFJVTEUr}795j~
    zAQS7yF0?VVJPARpo`nP~kJuUCLw^W!4*5>HUNc(oIqD`6j6bLRxYuu;tJk!9d$k9>
    ztO|3>)#a}cp3uE%;Ghg9tI|Eq_sPHvgSwk2%0p0w#!B1H#c-meL`rd{Rq*X_qO(CX$xSKcBSczxM9Fz6)vCC-!47{AOVEX$(hv6dx^RNt
    z+Whnq3;WdrH#TwV`q@~y8#dK^Tfe@*QoZv0>AZR01{|onfUL&|IYiXy&1}Xnv)7asQQ)fU)az9%lyN^opA(he!kCP$ipc5m>WKMrvql*<~Xy~WKcIL
    z7ybx8Z?)cT0pqs3#|t>0c;+TYyc&!zlnYZ*!J7IlM$9pfWH!j1ZDf|?^@1_SH~ACW
    zBMCaIXn0tiXHlvQ^js^g_;t0w2*w)z;SK==EgrlN#txOCuZgJ@TXF;+z^LJSJP09Z
    z{u)uJzM=Mxl3L-6lAiOs*$~7elX1BSx(W=q;Nfzlz@s$zLW1U@a)&$y!rYp)pnA1P%bnn6K6_w!^2hfor
    zLT}oU0#UyxsSUmm)#p(QXAy9X&yJ3*Iu2?%-F3Z9@idF9((qG$4kl4Lj=kK;GWw1dCQuQ7Fq`o*hdaA+;n>qzEFE8IS
    zLv#%iOJm1gP(orwJ#|goZWT32HpI$_glZlONh(ULF&T=zT}?lv5d=M{B+_#HwmMIA
    z{kBT*8<6wsc%?f8P7nBsj}U4p)zy;lr#;=HqCDrjHRAJtjO(hnrM+UPhmK1nvjOtc
    z-CmE+YxNByOEwE!Fc^?m+P2!xD1C!iwSG}rGD@13j1*>RUS^Ru_{;@B{?LB!{&FFZ
    z54Y~z#4NVQ%w5B)BxVT|{n6vhn_FN|x1H_k=t=~iu^R-gm^*GPt#ROfy8+xbDvS>T
    z3A*jzkUUQfHZ|)D**pvSS#yrQN5PEG*a&GyjY3^n=yo!qoct
    zKlNf`_z~#Cy>Xv*11JC_wzndAGEU$z1YKa=*$*HY3^FUSWfmbNu1G1~q`D6P!e-(|
    zyNcov*icC*Dd0+5?E&OZ(5?}F1rYNdv~mej#RJe@DHT+{dp5-U%S!9F3yBv1h=r2*
    g>-yLH&xw9zr(b
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs
    deleted file mode 100644
    index 72f135ae4..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/p5_result.png
    deleted file mode 100644
    index 75eaad29d651c30155e95e76628d4adb6be41b94..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1541
    zcmc&!Yf}?v6y9BfhFcS$Rz$>b5ge&zlqx79A)v?zA;SO>kq{_Ky%F6=7p1`lKv0wlQwatzBA1vTf)Qd&5AC=9fqvNCbN0OF@;=X*Czs0!
    zwzhDvKoG<_WJgd0f}qo2Cs8qYo32K!h7T%=2xcSlM~-9QP?7_}0ubbOf#t^pGw{ui
    z?1&K|$Y=NGAM}B+DhWZ%E`90A9_%N%9KP#^)B-$O*2kWb|5R4k>KG~xY?mn43x59tRQ$LdT*|S4bhNSti|B2(%pNxgt_PA6i
    zp4ma!I-A#8z&1_CuNLmzNTIW?Y(h`UUo;@S!ANE(rYzWL1wt!8A0%7aA#2`urwD7Crw&>JN!MxDiW*Vk$3bVOjC{xysNdq9*xcOEu1bMNc{g)+#
    zwsf(eQq?ZLBe$>hMsXF>6a|%xb&12Rls56h$%`K#Q6sIaw`J(#iWDlyJjm-DI0sD~
    z4P9{bY<=Q%1{~FO>ZW~3-N51=Z&#MKe^Ev$R5i$VU9m&)@EryxMNvANr|CY8kU2r(
    zELFSTPoBM_0TQJMFMmVekH@584s?dTN_HK9_^~draX?_-J+F@(ZAskis8z5MRu}%I`#ua}|14z*UrXqeM2+NlEKsffaC63&^dSC7
    zIZA2sTl-XR88-@rbkdohsj~Fw@`}TvVwgwaxzWmnr42~f%70}GZS&;2)@LK+b+_3=
    z1@GXZ$@xa7Og5#hk!yb^c+(hxS1gykc0J;Z;tKl6!h+2&30%bxxVlW{A!O~uZwXMM
    zUcM_W8SodK2u}7NA#neWelhh+21{#sh37LRfyH4T*~b#d5R!JvqCq2sHOX9gD`G9&
    zsOww79mSL{Nu#HlV^J_?v0HT4IxT_67Z-|bd{`1CjkU9WZ?{fe{zZfM2SDUl!~KV6
    zfvudQb@a>`07ATQn|sr=UuCTrJl-ynxe>?+19-JUOVJ?a`?-*2IPf3Ra_dh17d!$TVA~v>W~
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -background(200);
    -nofill();
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.pjs
    deleted file mode 100644
    index f0e254631..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.pjs
    +++ /dev/null
    @@ -1,31 +0,0 @@
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -noFill();
    -beginShape();
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/p5_result.png
    deleted file mode 100644
    index 5296757f2210c3ac6bb750656f463106966fa9cb..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1654
    zcmc&#dpJ~S7(a6y>&%SHAZfcfU8KlmE1O)_xW$-4A=wy|S(j=}COg%HGfX$iY|}$M
    z3bPTKa;X+W?%S?akwQF7F~W3toX34g*so{(z5nhX=bZQZJ>UEL-sk=OzV}@6@p9Lq
    ztfW8?q{Z-X-48*eNf3vlFnBNC@izq@5_iA5GgREV`U6-X5l(xZAn1XJ`Xx*qtjQdY
    zKrRGn|MB%9HN_N$L(n%=hO3j`Db|Qwai-mdrruV)cx~j+19q>-{P-)I4CCM{UW=si
    z9o*fOH}WQ@KXr7C{4&>MNP-bGk0SSC&si$6ZGGZ&F?xRm&f#gJG|b0`E;C#$%>d!(
    z^up7{kfy%dW964~U2sScE)az$il*ws3w0s(DSSn?yNmL1*%D-8Ff74`3>-#A5>bzCe*VkRTIotQii9bHnS0;l}t0HAy^-L{m^zCb!do
    z1mC2hsumr5noKL)g2|7z`UfEBF$+w-(-G=1p-b{{PRXu-VBN2boc|;|si{hK%>9XA
    zuk+1H<(yR^#qT;>YhtU?bBLYs2$%YP6~X26tN0xsM5eSfR=A$=y-Zi+kZb3Yf`Xn2@x?bK5Z{Ne7h;%W(jf3_*MVzuJpVY
    zd*Tro5%TM4+37T~bRFBieO!s4UzXE|qqmZUp?eF%u0-7x({Y@mv!d~VUVg-n4+1;?oi=fsb)#E*Qx5014@*+j!Ix!QS-R5-TJE}_ZS>gV<#1lyk;dV-{=oq_rmjCu+a6E%AyXRk)$|CZ{^
    zB_BD=dv4LPVmU^y=M%Zvr!{Vsk(%v7Q%OGMSm`C)L}i;ytf{T(D%noXqMVrTC6a
    z%wGj|3w-InkECF6OC6GAO_|nHac&r$F4NHb&6|8ZVr+;y{h?QipfmKc0S#%+i>a~`
    zXGfx0i3obqV07?pI&WdXaMSoXW(#j0N$?Ta_p`8Mj^i)uax}Bux)GC8wI)uOT^}4b
    zPCeF8#8}eN#WPYgJZ*4(N3=eSoR$1IuhwZ9QT<)ksu)$$26|{7DEMm6gesc+K7+61
    z6~pjNAV$kKZ%1dPoIc`yjaDZ7jNRqcdK-|mpG
    z{e!`DS;-F#6H|37Uze~FYq#-$99zLIasaFUPIbbEfpq^4FG&)(HdcRTtW9&D9y2@i
    z@q{G_z7CwuT+ziE42?FbK6aeisb9Drli%C(ut>C_A$~Bk+*H07uV=%J^V^3k9S$fo3!e^kW6(Ue|y+V^;-8zj-_q%@y=y5!diKT5fJh!NEUKCS{FWo
    z2b^Qo$U?jUC9L!6Uij~kaKisBTtPfC|D`av)3
    z$QO{e;$WGPI96AnDX3K}WTVX?-})ZRr6_9uy5+}^sIJ+Cf$>MXVca&>9Djg0ZA{0(
    zEhjX=;F3sij-`#CIhbjHN)7DVycx)=?au@ujcA3y;G_UwCAoC!fl&B(JIECz0Y~)v
    fl)3)TGz;nn&fl-1MjkQ({|boV=H*)K9GdhGB=68Y
    
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.html
    deleted file mode 100644
    index 012d3697e..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.html
    +++ /dev/null
    @@ -1,47 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape(POINTS);
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.pjs
    deleted file mode 100644
    index fd1a37493..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.pjs
    +++ /dev/null
    @@ -1,30 +0,0 @@
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape(POINTS);
    -vertex(30, 20);
    -vertex(85, 20);
    -vertex(85, 75);
    -vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(130, 20);
    -vertex(185, 20);
    -vertex(185, 75);
    -//vertex(130, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(230, 20);
    -vertex(285, 20);
    -//vertex(285, 75);
    -//vertex(230, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -vertex(330, 20);
    -//vertex(385, 20);
    -//vertex(385, 75);
    -//vertex(330, 75);
    -endShape(CLOSE);
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-points/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-points/p5_result.png
    deleted file mode 100644
    index 73b6edb6be8e51f7d580ce4df96a39db62b3f52c..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1154
    zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD
    z28NCO+M1MG8=jxTlL_NJZS+JBeP=i4rXrcmJQdQ#(6)
    zp@*+#)|1o5>i?rw+_U^_HAP_0Jo_)Z*1bO2&A`aS;wQSpZp+*A$NpY%vK0sN>$oJ!
    z%N-gR8W%Ja@=wze0t&_5i~srg*Z=JqdvqU{a0n=HLG8-j4Y(
    ztJ0Mn8Vgf#X+?^E=cq
    zvCLvRw)f`h5EhOeZi(+7nFZ!EG%jl>%>Sk(%ECxy<+WA7>}F+dNV1|M*_M%~|f#gyRXOc5|N}
    z-~V{WeEECALJAHGv=Z*DK6?si(Uyk7`Rn2vHIwx0mR4|Ra0ocCgWX%S6R7ssU0wkN2L+9UJIzbG
    zTpAb{AHQP*W*z|%gLemmT$LOe8VbvqSvUkZfay75r4lf69N4iNnAh$Ls&Gw3~7ruLL?@-JYy!QkoY=d#Wzp$Py0b?@^4
    
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.html
    deleted file mode 100644
    index f22a60515..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.html
    +++ /dev/null
    @@ -1,65 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -box(10);
    -beginShape();
    -vertex(20, 20);
    -vertex(40, 20);
    -vertex(40, 40);
    -vertex(60, 40);
    -vertex(60, 60);
    -vertex(20, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(120, 20);
    -vertex(140, 20);
    -vertex(140, 40);
    -vertex(160, 40);
    -vertex(160, 60);
    -//vertex(120, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(220, 20);
    -vertex(240, 20);
    -vertex(240, 40);
    -vertex(260, 40);
    -//vertex(260, 60);
    -//vertex(220, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(320, 20);
    -vertex(340, 20);
    -vertex(340, 40);
    -//vertex(360, 40);
    -//vertex(360, 60);
    -//vertex(320, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -vertex(420, 20);
    -vertex(440, 20);
    -//vertex(440, 40);
    -//vertex(460, 40);
    -//vertex(460, 60);
    -//vertex(420, 60);
    -endShape(CLOSE);
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs deleted file mode 100644 index 22d536396..000000000 --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs +++ /dev/null @@ -1,47 +0,0 @@ -size(500, 100, P3D); -background(200); -box(10); -beginShape(); -vertex(20, 20); -vertex(40, 20); -vertex(40, 40); -vertex(60, 40); -vertex(60, 60); -vertex(20, 60); -endShape(CLOSE); - -beginShape(); -vertex(120, 20); -vertex(140, 20); -vertex(140, 40); -vertex(160, 40); -vertex(160, 60); -//vertex(120, 60); -endShape(CLOSE); - -beginShape(); -vertex(220, 20); -vertex(240, 20); -vertex(240, 40); -vertex(260, 40); -//vertex(260, 60); -//vertex(220, 60); -endShape(CLOSE); - -beginShape(); -vertex(320, 20); -vertex(340, 20); -vertex(340, 40); -//vertex(360, 40); -//vertex(360, 60); -//vertex(320, 60); -endShape(CLOSE); - -beginShape(); -vertex(420, 20); -vertex(440, 20); -//vertex(440, 40); -//vertex(460, 40); -//vertex(460, 60); -//vertex(420, 60); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/p5_result.png deleted file mode 100644 index 47109e9b0368292c47fe6641a7bbca653262c322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1578 zcmeAS@N?(olHy`uVBq!ia0y~yVEh7Pr*JR<$^T13wSW|3age(c!@6@aFM%AEbVpxD z28NCO+M1MG6B0>wZrc$B>G+w|Aq19(xF|UNBpo^gsSh zS6B;&`CZ-!JEB}}ZCWmUC*S(t{abWxR@89Fk@6X$Q8wfsM-`T{#$iz~`vFFQ; zBXTSp0ty$x9d>^Ix=k7=x{E{OyWSZyMTZ85_{QmPcR&9get+#-w+5h&KqmS4o%#Qx zORH=3e*K-lc-vMzpau>Xu01*SUpDQv3;!AS<(1u}ySIQwc8LCXq%IX7AK(AxrMqIk zMkPN`X&c9n!mo;N%v6DfuW6V+t@G{oJ;z z!OMTBgwHMBx^k0M-Ii66bG5#2J0E}d@QQDmYi=LRdbTR9^!=K)S@-5hud|915Z<@> zXNIUvxbQLYa_@b*!s)-SpZa}2^xc-5ziz*&@2pzAc5-~~TK$g|Ozy8Y2A(X}_+GcM znq&Ufu#fCVW!5$aEWNkv&hBGx6>}bheRRJdvsT$_>Al5ws*eLjgu_4b-<4V0?y~gW zf;;R-fFf?;AMGz&MxAxnzTbMP)@PaAA>(&i|JZHaU!S>ns$^}E{Iq55A5`{s{pY)I z(W-JwQOvqK?$2H*+N@vyXunCxmUHrJuZ9P_YZm?@5GQnC?<4(4-Q!AqVSO^Qmj}E% zTQWWNh2oyBqW^b8_WvsRUb1DKRh0I+#dnr_oOP~9K4Ug#l$yQO*<=6fc4|!Ld`b4qkg!9qY-#dy;f6h8p zyQ|?#b%2W2y^CB{QN?MSwc>tk2>mPdWpaPpO*r7)WY$k--@f>6 zT2wThWtm{WyUQ*gU$}kwt*rQe9z&x&)2Z5}mlxa*_d2~-NJ4ADo%T=m`*+sW-#a79 zqQ#~0{cF(m_pei*^>LPn2fVv`a{Y~f{qYMkc$sFhPWip+<*V|vx?#D7vCkq zR|}m`Sa9dMU*P`rbLa0?7f@Sp=Ws@~?wb46p10c%c!8|jvTt|z-+79z#sWJ+9CpT^ zvdlC5Yj^J6IhHh$fOp2rE|vNJ+I#kFC`%B~{*aBYzK0Y_wH@GOd|Jnpf6Dvo?3uk?;4*?|dh=DH!Z*D4K7x;MncU?|TdMlqa}4>`eFkwBPbe^{otEw+9Ue zRujMGzJ}EwU+%L<@l*)R`USYS+%!8Z)3I_WRtXzNRx%_!qAq9s8%NmN- z&)mI|Q@}%S!JWzMIW|lzSwN@E+Btg`L*o;sQ?``{jwz2Sqe6gukT$v&zt7M$#2Z+? OGkCiCxvX - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.pjs
    deleted file mode 100644
    index 61797e79f..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.pjs
    +++ /dev/null
    @@ -1,112 +0,0 @@
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-quads/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-quads/p5_result.png
    deleted file mode 100644
    index 1bb5ce01cb4c2b128bdcd7f274998af86e730dee..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 5690
    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
    JR-
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(QUAD_STRIP); 
    -vertex(30, 20); 
    -vertex(30, 75); 
    -vertex(50, 20);
    -vertex(50, 75);
    -vertex(65, 20); 
    -vertex(65, 75); 
    -vertex(85, 20);
    -vertex(85, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(130, 20); 
    -vertex(130, 75); 
    -vertex(150, 20);
    -vertex(150, 75);
    -vertex(165, 20); 
    -vertex(165, 75); 
    -vertex(185, 20);
    -//vertex(185, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 20); 
    -vertex(230, 75); 
    -vertex(250, 20);
    -vertex(250, 75);
    -vertex(265, 20); 
    -//vertex(265, 75); 
    -vertex(285, 20);
    -vertex(285, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 20); 
    -vertex(330, 75); 
    -vertex(350, 20);
    -//vertex(350, 75);
    -vertex(365, 20); 
    -vertex(365, 75); 
    -vertex(385, 20);
    -vertex(385, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(430, 20); 
    -//vertex(430, 75); 
    -vertex(450, 20);
    -vertex(450, 75);
    -vertex(465, 20); 
    -vertex(465, 75); 
    -vertex(485, 20);
    -vertex(485, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(30, 120); 
    -vertex(30, 175); 
    -vertex(50, 120);
    -vertex(50, 175);
    -vertex(65, 120); 
    -vertex(65, 175); 
    -//vertex(85, 120);
    -//vertex(85, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(130, 120); 
    -vertex(130, 175); 
    -vertex(150, 120);
    -vertex(150, 175);
    -vertex(165, 120); 
    -//vertex(165, 175); 
    -//vertex(185, 120);
    -//vertex(185, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 120); 
    -vertex(230, 175); 
    -vertex(250, 120);
    -vertex(250, 175);
    -//vertex(265, 120); 
    -//vertex(265, 175); 
    -//vertex(285, 120);
    -//vertex(285, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 120); 
    -vertex(330, 175); 
    -vertex(350, 120);
    -//vertex(350, 175);
    -//vertex(365, 120); 
    -//vertex(365, 175); 
    -//vertex(385, 120);
    -//vertex(385, 175); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(430, 120); 
    -vertex(430, 175); 
    -//vertex(450, 120);
    -//vertex(450, 175);
    -//vertex(465, 120); 
    -//vertex(465, 175); 
    -//vertex(485, 120);
    -//vertex(485, 175); 
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs deleted file mode 100644 index 82c659e18..000000000 --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs +++ /dev/null @@ -1,112 +0,0 @@ -size(500, 200, P3D); -background(200); -box(10); -beginShape(QUAD_STRIP); -vertex(30, 20); -vertex(30, 75); -vertex(50, 20); -vertex(50, 75); -vertex(65, 20); -vertex(65, 75); -vertex(85, 20); -vertex(85, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(130, 20); -vertex(130, 75); -vertex(150, 20); -vertex(150, 75); -vertex(165, 20); -vertex(165, 75); -vertex(185, 20); -//vertex(185, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 20); -vertex(230, 75); -vertex(250, 20); -vertex(250, 75); -vertex(265, 20); -//vertex(265, 75); -vertex(285, 20); -vertex(285, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 20); -vertex(330, 75); -vertex(350, 20); -//vertex(350, 75); -vertex(365, 20); -vertex(365, 75); -vertex(385, 20); -vertex(385, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(430, 20); -//vertex(430, 75); -vertex(450, 20); -vertex(450, 75); -vertex(465, 20); -vertex(465, 75); -vertex(485, 20); -vertex(485, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(30, 120); -vertex(30, 175); -vertex(50, 120); -vertex(50, 175); -vertex(65, 120); -vertex(65, 175); -//vertex(85, 120); -//vertex(85, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(130, 120); -vertex(130, 175); -vertex(150, 120); -vertex(150, 175); -vertex(165, 120); -//vertex(165, 175); -//vertex(185, 120); -//vertex(185, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 120); -vertex(230, 175); -vertex(250, 120); -vertex(250, 175); -//vertex(265, 120); -//vertex(265, 175); -//vertex(285, 120); -//vertex(285, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 120); -vertex(330, 175); -vertex(350, 120); -//vertex(350, 175); -//vertex(365, 120); -//vertex(365, 175); -//vertex(385, 120); -//vertex(385, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(430, 120); -vertex(430, 175); -//vertex(450, 120); -//vertex(450, 175); -//vertex(465, 120); -//vertex(465, 175); -//vertex(485, 120); -//vertex(485, 175); -endShape(); \ No newline at end of file diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/p5_result.png deleted file mode 100644 index c4a0a9b8d9e218a619f79518745ad2e46c8ffd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4470 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 E0HEF-x&QzG diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html deleted file mode 100644 index 4544f94da..000000000 --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 50);
    -vertex(60, 15); 
    -vertex(95, 50); 
    -vertex(60, 85); 
    -vertex(25, 50); 
    -vertex(60, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(160, 50);
    -vertex(160, 15); 
    -vertex(195, 50); 
    -vertex(160, 85); 
    -vertex(125, 50); 
    -//vertex(160, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 50);
    -vertex(260, 15); 
    -vertex(295, 50); 
    -vertex(260, 85); 
    -//vertex(225, 50); 
    -vertex(260, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 50);
    -vertex(360, 15); 
    -vertex(395, 50); 
    -//vertex(360, 85); 
    -vertex(325, 50); 
    -vertex(360, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 50);
    -vertex(460, 15); 
    -//vertex(495, 50); 
    -vertex(460, 85); 
    -vertex(425, 50); 
    -vertex(460, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 150);
    -//vertex(60, 115); 
    -vertex(95, 150); 
    -vertex(60, 185); 
    -vertex(25, 150); 
    -vertex(60, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -//vertex(160, 150);
    -vertex(160, 115); 
    -vertex(195, 150); 
    -vertex(160, 185); 
    -vertex(125, 150); 
    -vertex(160, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 150);
    -vertex(260, 115); 
    -vertex(295, 150); 
    -vertex(260, 185); 
    -//vertex(225, 150); 
    -//vertex(260, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 150);
    -vertex(360, 115); 
    -vertex(395, 150); 
    -//vertex(360, 185); 
    -//vertex(325, 150); 
    -//vertex(360, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 150);
    -vertex(460, 115); 
    -//vertex(495, 150); 
    -//vertex(460, 185); 
    -//vertex(425, 150); 
    -//vertex(460, 115); 
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs
    deleted file mode 100644
    index a6e0ee607..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 50);
    -vertex(60, 15); 
    -vertex(95, 50); 
    -vertex(60, 85); 
    -vertex(25, 50); 
    -vertex(60, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(160, 50);
    -vertex(160, 15); 
    -vertex(195, 50); 
    -vertex(160, 85); 
    -vertex(125, 50); 
    -//vertex(160, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 50);
    -vertex(260, 15); 
    -vertex(295, 50); 
    -vertex(260, 85); 
    -//vertex(225, 50); 
    -vertex(260, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 50);
    -vertex(360, 15); 
    -vertex(395, 50); 
    -//vertex(360, 85); 
    -vertex(325, 50); 
    -vertex(360, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 50);
    -vertex(460, 15); 
    -//vertex(495, 50); 
    -vertex(460, 85); 
    -vertex(425, 50); 
    -vertex(460, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(60, 150);
    -//vertex(60, 115); 
    -vertex(95, 150); 
    -vertex(60, 185); 
    -vertex(25, 150); 
    -vertex(60, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -//vertex(160, 150);
    -vertex(160, 115); 
    -vertex(195, 150); 
    -vertex(160, 185); 
    -vertex(125, 150); 
    -vertex(160, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 150);
    -vertex(260, 115); 
    -vertex(295, 150); 
    -vertex(260, 185); 
    -//vertex(225, 150); 
    -//vertex(260, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 150);
    -vertex(360, 115); 
    -vertex(395, 150); 
    -//vertex(360, 185); 
    -//vertex(325, 150); 
    -//vertex(360, 115); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 150);
    -vertex(460, 115); 
    -//vertex(495, 150); 
    -//vertex(460, 185); 
    -//vertex(425, 150); 
    -//vertex(460, 115); 
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/p5_result.png
    deleted file mode 100644
    index 7a0ab0182e2b37d8ae5ef8c799677b2aa5bcd394..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 5416
    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
    
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.html
    deleted file mode 100644
    index b4feda164..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.html
    +++ /dev/null
    @@ -1,129 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(QUADS);
    -vertex(30, 20);
    -vertex(30, 75);
    -vertex(50, 75);
    -vertex(50, 20);
    -vertex(65, 20);
    -vertex(65, 75);
    -vertex(85, 75);
    -vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -vertex(150, 75);
    -vertex(150, 20);
    -vertex(165, 20);
    -vertex(165, 75);
    -vertex(185, 75);
    -//vertex(185, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -vertex(230, 75);
    -vertex(250, 75);
    -vertex(250, 20);
    -vertex(265, 20);
    -//vertex(265, 75);
    -vertex(285, 75);
    -vertex(285, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -vertex(330, 75);
    -vertex(350, 75);
    -//vertex(350, 20);
    -vertex(365, 20);
    -vertex(365, 75);
    -vertex(385, 75);
    -vertex(385, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 20);
    -//vertex(430, 75);
    -vertex(450, 75);
    -vertex(450, 20);
    -vertex(465, 20);
    -vertex(465, 75);
    -vertex(485, 75);
    -vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -vertex(50, 120);
    -vertex(65, 120);
    -vertex(65, 175);
    -//vertex(85, 175);
    -//vertex(85, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(150, 120);
    -vertex(165, 120);
    -//vertex(165, 175);
    -//vertex(185, 175);
    -//vertex(185, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -vertex(250, 175);
    -vertex(250, 120);
    -//vertex(265, 120);
    -//vertex(265, 175);
    -//vertex(285, 175);
    -//vertex(285, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -vertex(330, 175);
    -vertex(350, 175);
    -//vertex(350, 120);
    -//vertex(365, 120);
    -//vertex(365, 175);
    -//vertex(385, 175);
    -//vertex(385, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(430, 120);
    -vertex(430, 175);
    -//vertex(450, 175);
    -//vertex(450, 120);
    -//vertex(465, 120);
    -//vertex(465, 175);
    -//vertex(485, 175);
    -//vertex(485, 120);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs
    deleted file mode 100644
    index 074bbec98..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(TRIANGLES);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -//vertex(180, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -//vertex(260, 20);
    -vertex(270, 75);
    -vertex(280, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(330, 75);
    -//vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -vertex(370, 75);
    -vertex(380, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -vertex(460, 20);
    -//vertex(470, 75);
    -//vertex(480, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(30, 175);
    -vertex(40, 120);
    -vertex(50, 175);
    -//vertex(60, 120);
    -//vertex(70, 175);
    -//vertex(80, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(130, 175);
    -vertex(140, 120);
    -//vertex(150, 175);
    -//vertex(160, 120);
    -//vertex(170, 175);
    -//vertex(180, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(330, 175);
    -vertex(340, 120);
    -//vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -vertex(380, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -vertex(480, 120);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/p5_result.png
    deleted file mode 100644
    index 59c85bb0dfda1b5fb96589b6d18c06c0643f040b..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3245
    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
    
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html
    deleted file mode 100644
    index fe69b9e67..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html
    +++ /dev/null
    @@ -1,119 +0,0 @@
    -
    -
    -  
    -    
    -    
    -  
    -  
    -    

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -vertex(90, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -vertex(180, 20);
    -//vertex(190, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -vertex(260, 20);
    -vertex(270, 75);
    -//vertex(280, 20);
    -vertex(290, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 75);
    -vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -//vertex(370, 75);
    -vertex(380, 20);
    -vertex(390, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -//vertex(460, 20);
    -vertex(470, 75);
    -vertex(480, 20);
    -vertex(490, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 175);
    -vertex(40, 120);
    -//vertex(50, 175);
    -vertex(60, 120);
    -vertex(70, 175);
    -vertex(80, 120);
    -vertex(90, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 175);
    -//vertex(140, 120);
    -vertex(150, 175);
    -vertex(160, 120);
    -vertex(170, 175);
    -vertex(180, 120);
    -vertex(190, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -vertex(290, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 175);
    -vertex(340, 120);
    -vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -//vertex(380, 120);
    -//vertex(390, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -//vertex(480, 120);
    -//vertex(490, 175);
    -endShape();
    -  
    -
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs
    deleted file mode 100644
    index 1c33aeb78..000000000
    --- a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs
    +++ /dev/null
    @@ -1,102 +0,0 @@
    -size(500, 200, P3D);
    -background(200);
    -box(10);
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -vertex(60, 20);
    -vertex(70, 75);
    -vertex(80, 20);
    -vertex(90, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 75);
    -vertex(140, 20);
    -vertex(150, 75);
    -vertex(160, 20);
    -vertex(170, 75);
    -vertex(180, 20);
    -//vertex(190, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(230, 75);
    -vertex(240, 20);
    -vertex(250, 75);
    -vertex(260, 20);
    -vertex(270, 75);
    -//vertex(280, 20);
    -vertex(290, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 75);
    -vertex(340, 20);
    -vertex(350, 75);
    -vertex(360, 20);
    -//vertex(370, 75);
    -vertex(380, 20);
    -vertex(390, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 75);
    -vertex(440, 20);
    -vertex(450, 75);
    -//vertex(460, 20);
    -vertex(470, 75);
    -vertex(480, 20);
    -vertex(490, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(30, 175);
    -vertex(40, 120);
    -//vertex(50, 175);
    -vertex(60, 120);
    -vertex(70, 175);
    -vertex(80, 120);
    -vertex(90, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 175);
    -//vertex(140, 120);
    -vertex(150, 175);
    -vertex(160, 120);
    -vertex(170, 175);
    -vertex(180, 120);
    -vertex(190, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -//vertex(230, 175);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -vertex(290, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(330, 175);
    -vertex(340, 120);
    -vertex(350, 175);
    -vertex(360, 120);
    -vertex(370, 175);
    -//vertex(380, 120);
    -//vertex(390, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -vertex(460, 120);
    -//vertex(470, 175);
    -//vertex(480, 120);
    -//vertex(490, 175);
    -endShape();
    \ No newline at end of file
    diff --git a/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/p5_result.png b/examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/p5_result.png
    deleted file mode 100644
    index b3cd8d7a6955ba714f8f9204045b9bc2eb1c1a04..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 6280
    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
    
    diff --git a/examples/seneca/bezier/bezier.html b/examples/seneca/bezier/bezier.html
    deleted file mode 100644
    index 09d19b389..000000000
    --- a/examples/seneca/bezier/bezier.html
    +++ /dev/null
    @@ -1,46 +0,0 @@
    -
    -
    -
    -    Processing.js test of bezier()
    -    
    -   
    -
    -
    -    

    - - bezier() -

    - -

    - Draws a Bezier curve on the screen. -

    - - - - -
    - - - - - -

    - Source Code:

    -
    -noFill();
    -stroke(255, 102, 0);
    -line(30, 20, 80, 5);
    -line(80, 75, 30, 75);
    -stroke(0, 0, 0);
    -bezier(30, 20,  80, 5,  80, 75,  30, 75);
    -
    -noFill();
    -stroke(255, 102, 0);
    -line(85, 20, 10, 10);
    -line(90, 90, 15, 80);
    -stroke(0, 0, 0);
    -bezier(85, 20, 10, 10, 90, 90, 15, 80);
    -        
    -
    - - \ No newline at end of file diff --git a/examples/seneca/bezier/bezier.pjs b/examples/seneca/bezier/bezier.pjs deleted file mode 100644 index f1a756acb..000000000 --- a/examples/seneca/bezier/bezier.pjs +++ /dev/null @@ -1,6 +0,0 @@ -noFill(); -stroke(255, 102, 0); -line(30, 20, 80, 5); -line(80, 75, 30, 75); -stroke(0, 0, 0); -bezier(30, 20, 80, 5, 80, 75, 30, 75); \ No newline at end of file diff --git a/examples/seneca/bezier/bezier2.pjs b/examples/seneca/bezier/bezier2.pjs deleted file mode 100644 index 4c99bea5f..000000000 --- a/examples/seneca/bezier/bezier2.pjs +++ /dev/null @@ -1,6 +0,0 @@ -noFill(); -stroke(255, 102, 0); -line(85, 20, 10, 10); -line(90, 90, 15, 80); -stroke(0, 0, 0); -bezier(85, 20, 10, 10, 90, 90, 15, 80); \ No newline at end of file diff --git a/examples/seneca/bezier/bezier_.gif b/examples/seneca/bezier/bezier_.gif deleted file mode 100644 index 5d71c005b263fa251c786f432a223e0d517a664f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6clNk%w1VPpVg0FeLy|7HNp%*+4)00000EC2ui0Av7U0008Cc&M$TkJp6(^9WgjO;*!dlvAJ|Xmx8Kw z`T|%5iftA9*;1}x%vZxL_s(iux_x`YXY%>0Zdc*+r9FS-_ZJc<=s{T6afpbvNTS$y z@d#-lIXO{j8G)Jku*uor`MD4(nm}55aEcnBirQNGDjNGa%UNrAi@TbU3)$2 epRd2q-|znqFrdJJ1PdBGh%lkTg$(%>0027x41~P^ diff --git a/examples/seneca/bezier/bezier_2.gif b/examples/seneca/bezier/bezier_2.gif deleted file mode 100644 index fdbdfc8fddc25ff1d26b32bea386dabd235b87ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(pZNk%w1VPpVg0FeLy|7HNp%*+4)00000EC2ui0Av7U00090jE||y?GK}z zwAzca-n{z{hT=$;=82~2%C_zcW55i=c0=d&%_I8U3kH5bA&+Q0B9pcy6Gq%UU(TsW zfX!;R*rN54t#H2*ELkNuqtz%g+mwF8<#T!|ZolS9_&uoa*8v#FF-WLkc!-gxXu;S> z@d#NqxglBkaEaNVxw+8knE)DkFiIL=N}8&A8reFr>KVH^i& - - - Processing.js test of bezier() 3D - - - - -

    - - bezier() -

    - -

    - Draws a Bezier curve on the screen. -

    - - - - -
    - - - - - -

    - Source Code:

    -
    -size(100, 100, P3D);
    -noFill();
    -stroke(255, 102, 0);
    -line(30, 20, 80, 5);
    -line(80, 75, 30, 75);
    -stroke(0, 0, 0);
    -bezier(30, 20, 0,  80, 5, 0,  80, 75, 0,  30, 75, 0);
    -
    -size(100, 100, P3D);
    -noFill();
    -stroke(255, 102, 0);
    -line(85, 20, 10, 10);
    -line(90, 90, 15, 80);
    -stroke(0, 0, 0);
    -bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0);
    -        
    -
    - - diff --git a/examples/seneca/bezier3D/bezier.pjs b/examples/seneca/bezier3D/bezier.pjs deleted file mode 100644 index aa80e2f2e..000000000 --- a/examples/seneca/bezier3D/bezier.pjs +++ /dev/null @@ -1,7 +0,0 @@ -size(100, 100, P3D); -noFill(); -stroke(255, 102, 0); -line(30, 20, 80, 5); -line(80, 75, 30, 75); -stroke(0, 0, 0); -bezier(30, 20, 0, 80, 5, 0, 80, 75, 0, 30, 75, 0); diff --git a/examples/seneca/bezier3D/bezier2.pjs b/examples/seneca/bezier3D/bezier2.pjs deleted file mode 100644 index 03418a867..000000000 --- a/examples/seneca/bezier3D/bezier2.pjs +++ /dev/null @@ -1,7 +0,0 @@ -size(100, 100, P3D); -noFill(); -stroke(255, 102, 0); -line(85, 20, 10, 10); -line(90, 90, 15, 80); -stroke(0, 0, 0); -bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0); diff --git a/examples/seneca/bezier3D/bezier_.gif b/examples/seneca/bezier3D/bezier_.gif deleted file mode 100644 index 5d71c005b263fa251c786f432a223e0d517a664f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280 zcmV+z0q6clNk%w1VPpVg0FeLy|7HNp%*+4)00000EC2ui0Av7U0008Cc&M$TkJp6(^9WgjO;*!dlvAJ|Xmx8Kw z`T|%5iftA9*;1}x%vZxL_s(iux_x`YXY%>0Zdc*+r9FS-_ZJc<=s{T6afpbvNTS$y z@d#-lIXO{j8G)Jku*uor`MD4(nm}55aEcnBirQNGDjNGa%UNrAi@TbU3)$2 epRd2q-|znqFrdJJ1PdBGh%lkTg$(%>0027x41~P^ diff --git a/examples/seneca/bezier3D/bezier_2.gif b/examples/seneca/bezier3D/bezier_2.gif deleted file mode 100644 index fdbdfc8fddc25ff1d26b32bea386dabd235b87ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 292 zcmV+<0o(pZNk%w1VPpVg0FeLy|7HNp%*+4)00000EC2ui0Av7U00090jE||y?GK}z zwAzca-n{z{hT=$;=82~2%C_zcW55i=c0=d&%_I8U3kH5bA&+Q0B9pcy6Gq%UU(TsW zfX!;R*rN54t#H2*ELkNuqtz%g+mwF8<#T!|ZolS9_&uoa*8v#FF-WLkc!-gxXu;S> z@d#NqxglBkaEaNVxw+8knE)DkFiIL=N}8&A8reFr>KVH^i& - - - - - - -

    bezier 3D demo

    - -

    - -

    - -
    -int numSystems = 40;
    -PSystem[] ps = new PSystem[numSystems];
    -float theta, theta2 = 0.0f;
    -float r;
    -float amplitude;  
    -float x, y,z;
    -float inx, iny, inz;
    -PVector centerLoc;
    -float rotx,roty;
    -int bounds = 1000;
    -float jx,jy,jz;
    -float jxSpeed, jySpeed, jzSpeed, jxRot,jyRot,jzRot;
    -int zoom;
    - 
    -void setup()
    -{
    -  size(640, 480, P3D);
    -  colorMode(HSB, 360, 100, 100, 100);
    -  inx = 0;
    -  iny = 0;
    -  centerLoc = new PVector(width/2, height/2, 0);
    -  for(int i=0; i= 0; i--) {        
    -      jParticle prt = (jParticle) particles.get(i);
    -      prt.run();
    -      //      ps_loc.z = inz+i*10;
    -      prt.move(new PVector(ps_loc.x,ps_loc.y,ps_loc.z));
    -       
    -       
    -    }
    -    //ellipse(ps_loc.x,ps_loc.y, 10, 10);
    -  }
    - 
    -  void update()
    -  {
    -    th += 0.0025f;
    -    ps_loc.x = inx + r * cos(th);
    -    ps_loc.y = iny + r * sin(th);
    -    ps_loc.z = inz - r/2;
    -    ps_loc.x += random(-30.0f, 30.0f);
    -    ps_loc.y += random(-30.0f, 30.0f);
    -    //    ps_loc.z += random(-30.0f, 30.0f);
    - 
    -  }
    - 
    -}
    -class jParticle {
    -  PVector loc;
    -  PVector vel;
    -  PVector acc;
    -  float ms;
    -  float counter;
    -  float lengthVar;
    - 
    -  jParticle(PVector a, PVector v, PVector l, float ms_, float counter_) {
    -    acc = a;
    -    vel = v;
    -    loc = l;
    -    ms = ms_;
    -    counter = counter_;
    -    lengthVar = random (30);
    -  }
    - 
    -  void run() {
    -    update();
    -    render();
    -    //    print (counter);
    -  }
    - 
    -  void update() {
    -    vel.add(acc);
    -    loc.add(vel);
    -    acc = new PVector();
    -  }
    - 
    -  void render() {
    -    noStroke();
    -    fill(257, 28, 65, 10);
    -    float tenticleSize = ms/30 + 1;
    -    strokeWeight(tenticleSize);
    -    //    ellipse(loc.x,loc.y, ms/8, ms/8);
    -    stroke(238, 14, 85, 30);
    -    point(loc.x,loc.y,loc.z-ms*4);
    -    float al = map(vel.mag(), 0, 1.2, .1, 3);
    - 
    -    stroke(238, 14, 85, al);
    -//    stroke(238, 14, 85, 100);
    -    //print(counter%5 + " ");
    -    //    if(ms >= 69.5)
    -    noFill();
    -    strokeWeight(1.5);
    -    if(ms <= 5) {
    -      bezier(inx,iny,inz+70, loc.x - (inx-loc.x)/20,loc.y - (iny-loc.y)/20,inz+60,loc.x - (inx-loc.x)/3,loc.y - (iny-loc.y)/3,inz-10,loc.x,loc.y,loc.z + lengthVar);
    -       bezier(loc.x + (inx-loc.x)/1.5,loc.y + (iny-loc.y)/1.5,inz+20, loc.x - (inx-loc.x)/40,loc.y - (iny-loc.y)/40,inz+40,loc.x - (inx-loc.x)/3,loc.y - (iny-loc.y)/3,inz-10,loc.x,loc.y,loc.z + lengthVar);
    -    }
    -  }
    - 
    -  void move(PVector target) {
    -    acc.add(steer(target));
    -  }    
    - 
    -  PVector getLocation() {
    -    return loc;
    -  } 
    - 
    -  PVector steer(PVector target) {
    -    PVector steer;
    -    PVector desired = PVector.sub(target,loc);
    -    float d = desired.mag();
    -    desired.normalize();
    -    desired.mult(3.5f);
    -    steer = PVector.sub(desired,vel);
    -    steer.limit(3.0f);
    -    steer.div(ms);
    -    return steer;
    -  }
    -} 
    -    
    - - diff --git a/examples/seneca/bezier3D/jellyfish.pjs b/examples/seneca/bezier3D/jellyfish.pjs deleted file mode 100644 index 18bcd4dba..000000000 --- a/examples/seneca/bezier3D/jellyfish.pjs +++ /dev/null @@ -1,193 +0,0 @@ -int numSystems = 40; -PSystem[] ps = new PSystem[numSystems]; -float theta, theta2 = 0.0f; -float r; -float amplitude; -float x, y,z; -float inx, iny, inz; -PVector centerLoc; -float rotx,roty; -int bounds = 1000; -float jx,jy,jz; -float jxSpeed, jySpeed, jzSpeed, jxRot,jyRot,jzRot; -int zoom; - -void setup() -{ - size(640, 480, P3D); - colorMode(HSB, 360, 100, 100, 100); - inx = 0; - iny = 0; - centerLoc = new PVector(width/2, height/2, 0); - for(int i=0; i= 0; i--) { - jParticle prt = (jParticle) particles.get(i); - prt.run(); - // ps_loc.z = inz+i*10; - prt.move(new PVector(ps_loc.x,ps_loc.y,ps_loc.z)); - - - } - //ellipse(ps_loc.x,ps_loc.y, 10, 10); - } - - void update() - { - th += 0.0025f; - ps_loc.x = inx + r * cos(th); - ps_loc.y = iny + r * sin(th); - ps_loc.z = inz - r/2; - ps_loc.x += random(-30.0f, 30.0f); - ps_loc.y += random(-30.0f, 30.0f); - // ps_loc.z += random(-30.0f, 30.0f); - - } - -} -class jParticle { - PVector loc; - PVector vel; - PVector acc; - float ms; - float counter; - float lengthVar; - - jParticle(PVector a, PVector v, PVector l, float ms_, float counter_) { - acc = a; - vel = v; - loc = l; - ms = ms_; - counter = counter_; - lengthVar = random (30); - } - - void run() { - update(); - render(); - // print (counter); - } - - void update() { - vel.add(acc); - loc.add(vel); - acc = new PVector(); - } - - void render() { - noStroke(); - fill(257, 28, 65, 10); - float tenticleSize = ms/30 + 1; - strokeWeight(tenticleSize); - // ellipse(loc.x,loc.y, ms/8, ms/8); - stroke(238, 14, 85, 30); - point(loc.x,loc.y,loc.z-ms*4); - float al = map(vel.mag(), 0, 1.2, .1, 3); - - stroke(238, 14, 85, al); -// stroke(238, 14, 85, 100); - //print(counter%5 + " "); - // if(ms >= 69.5) - noFill(); - strokeWeight(1.5); - if(ms <= 5) { - bezier(inx,iny,inz+70, loc.x - (inx-loc.x)/20,loc.y - (iny-loc.y)/20,inz+60,loc.x - (inx-loc.x)/3,loc.y - (iny-loc.y)/3,inz-10,loc.x,loc.y,loc.z + lengthVar); - bezier(loc.x + (inx-loc.x)/1.5,loc.y + (iny-loc.y)/1.5,inz+20, loc.x - (inx-loc.x)/40,loc.y - (iny-loc.y)/40,inz+40,loc.x - (inx-loc.x)/3,loc.y - (iny-loc.y)/3,inz-10,loc.x,loc.y,loc.z + lengthVar); - } - } - - void move(PVector target) { - acc.add(steer(target)); - } - - PVector getLocation() { - return loc; - } - - PVector steer(PVector target) { - PVector steer; - PVector desired = PVector.sub(target,loc); - float d = desired.mag(); - desired.normalize(); - desired.mult(3.5f); - steer = PVector.sub(desired,vel); - steer.limit(3.0f); - steer.div(ms); - return steer; - } -} diff --git a/examples/seneca/bezierDetail/bezierDetail.gif b/examples/seneca/bezierDetail/bezierDetail.gif deleted file mode 100644 index d315d5f2f6831b79224ab9dba83a1ba899ff9ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 386 zcmV-|0e${QNk%w1VPpVg0FeLyetv!c00960|IEzHA^8LV00000EC2ui0Av7U00092 zoR6u??GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<@QJqVb444k5`2 z01#Lme*Y6w6lxIz1pq%!zke{_rmB_q=`&H|FrS$JeJo z*I)>TH$bQu$Uv6(u*m4xCSl2#sTny%0rm;%IZ6t#IoimO`YF)KYWnb6DLV`6)@n)% zXv>6)`{HSbfhgmCsb3s}KmAZT6~O3_8f;*x?>urvx0 z2+ZRThYKhP8fEE`0+BuNsoa9HBrr)a-Mu_D(Po7;ksRK1z;cJVpOSb+N@8>il7lLd gQh^6Gs?@1et6IH^HLKRGT)TSx3O1}*3IzZFJHlwQ;s5{u diff --git a/examples/seneca/bezierDetail/bezierDetail.html b/examples/seneca/bezierDetail/bezierDetail.html deleted file mode 100644 index 0b036ca7e..000000000 --- a/examples/seneca/bezierDetail/bezierDetail.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - -

    bezierDetail() test

    - -

    - - -

    - -
    -void setup() {
    -  size(100, 100, P3D);
    -  noFill();
    -  noLoop();
    -}
    -
    -void draw() {
    -  bezierDetail(1);
    -  bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0);
    -  stroke(126);
    -  bezierDetail(3);
    -  bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0);
    -  stroke(255);
    -  bezierDetail(12);
    -  bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0);
    -}
    -    
    - - diff --git a/examples/seneca/bezierDetail/bezierDetail.pjs b/examples/seneca/bezierDetail/bezierDetail.pjs deleted file mode 100644 index 04eda47f2..000000000 --- a/examples/seneca/bezierDetail/bezierDetail.pjs +++ /dev/null @@ -1,16 +0,0 @@ -void setup() { - size(100, 100, P3D); - noFill(); - noLoop(); -} - -void draw() { - bezierDetail(1); - bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0); - stroke(126); - bezierDetail(3); - bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0); - stroke(255); - bezierDetail(12); - bezier(85, 20, 0, 10, 10, 0, 90, 90, 0, 15, 80, 0); -} diff --git a/examples/seneca/bezierTangent/bezierTangent.html b/examples/seneca/bezierTangent/bezierTangent.html deleted file mode 100644 index 206d45c0a..000000000 --- a/examples/seneca/bezierTangent/bezierTangent.html +++ /dev/null @@ -1,60 +0,0 @@ - -A Processing.js Example - - - - - - - - - -
    -

    A Processing.js bezierTangent() Example

    - - - -
    - - diff --git a/examples/seneca/bezierVertex/bezierVertex.html b/examples/seneca/bezierVertex/bezierVertex.html deleted file mode 100644 index 082efd182..000000000 --- a/examples/seneca/bezierVertex/bezierVertex.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -

    bezierVertex() test

    - -

    - - -

    - -
    -size(200, 200);
    -background(0);
    -noFill();
    -
    -stroke(102);
    -beginShape();
    -curveVertex(168, 182);
    -curveVertex(168, 182);
    -curveVertex(136, 38);
    -curveVertex(42, 34);
    -curveVertex(64, 200);
    -curveVertex(64, 200);
    -endShape();
    -
    -stroke(51);
    -beginShape(LINES);
    -vertex(60, 40);
    -vertex(160, 10);
    -vertex(170, 150);
    -vertex(60, 150);
    -endShape();
    -
    -stroke(126);
    -beginShape();
    -vertex(60, 40);
    -bezierVertex(160, 10, 170, 150, 60, 150);
    -endShape();
    -
    -stroke(255);
    -beginShape(POINTS);
    -vertex(60, 40);
    -vertex(160, 10);
    -vertex(170, 150);
    -vertex(60, 150);
    -endShape();
    -    
    - - diff --git a/examples/seneca/bezierVertex/bezierVertex.pjs b/examples/seneca/bezierVertex/bezierVertex.pjs deleted file mode 100644 index 0e55ee9ff..000000000 --- a/examples/seneca/bezierVertex/bezierVertex.pjs +++ /dev/null @@ -1,36 +0,0 @@ -size(200, 200); -background(0); -noFill(); - -stroke(102); -beginShape(); -curveVertex(168, 182); -curveVertex(168, 182); -curveVertex(136, 38); -curveVertex(42, 34); -curveVertex(64, 200); -curveVertex(64, 200); -endShape(); - -stroke(51); -beginShape(LINES); -vertex(60, 40); -vertex(160, 10); -vertex(170, 150); -vertex(60, 150); -endShape(); - -stroke(126); -beginShape(); -vertex(60, 40); -bezierDetail(30); -bezierVertex(160, 10, 170, 150, 60, 150); -endShape(); - -stroke(255); -beginShape(POINTS); -vertex(60, 40); -vertex(160, 10); -vertex(170, 150); -vertex(60, 150); -endShape(); diff --git a/examples/seneca/bezierVertex/bezierVertex1.pjs b/examples/seneca/bezierVertex/bezierVertex1.pjs deleted file mode 100644 index 07064b6d0..000000000 --- a/examples/seneca/bezierVertex/bezierVertex1.pjs +++ /dev/null @@ -1,6 +0,0 @@ -background(125); -noFill(); -beginShape(); -vertex(30, 20); -bezierVertex(80, 0, 80, 75, 30, 75); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bezierVertex/bezierVertex2.html b/examples/seneca/bezierVertex/bezierVertex2.html deleted file mode 100644 index 5dc2cec42..000000000 --- a/examples/seneca/bezierVertex/bezierVertex2.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - Processing.js test of bezierVertex() - - - - -

    - - bezier() -

    - -

    - Draws a Bezier curve on the screen. -

    - - - - - - -
    - -

    - Source Code:

    -
    -background(125);
    -noFill();
    -beginShape();
    -vertex(30, 20);
    -bezierVertex(80, 0, 80, 75, 30, 75);
    -endShape();
    -
    -background(125);
    -beginShape();
    -vertex(30, 20);
    -bezierVertex(80, 0, 80, 75, 30, 75);
    -bezierVertex(50, 80, 60, 25, 30, 20);
    -endShape();
    -        
    -
    - - diff --git a/examples/seneca/bezierVertex/bezierVertex2.pjs b/examples/seneca/bezierVertex/bezierVertex2.pjs deleted file mode 100644 index 6acc13350..000000000 --- a/examples/seneca/bezierVertex/bezierVertex2.pjs +++ /dev/null @@ -1,6 +0,0 @@ -background(125); -beginShape(); -vertex(30, 20); -bezierVertex(80, 0, 80, 75, 30, 75); -bezierVertex(50, 80, 60, 25, 30, 20); -endShape(); diff --git a/examples/seneca/bezierVertex/bezierVertex_.gif b/examples/seneca/bezierVertex/bezierVertex_.gif deleted file mode 100644 index e1bc2c0f53d835fa419b62253ae74b16c297288c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmVJGcDdBdagkGyWV<0txkr0;hW7&mBDNOzc*sJO_~==dlB7zr>L zY1xRGN%_YKp_vF8>PbafYPukLs5;2nikb?m;Oa+PE1O`8r(4H6=L-j{c4bOTYRn0Q mt1Qc0Z1jwbJ560}eT|*1z0KY2{S6*2K2Bb4eva-^0029gdvR6( diff --git a/examples/seneca/bezierVertex/bezierVertex_2.gif b/examples/seneca/bezierVertex/bezierVertex_2.gif deleted file mode 100644 index ada415de036d82de42280c19eae9d5478c1f114f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmV-V0kHl@Nk%w1VPpVg0FeLy00030|NqR)%m4rYA^8LV00000EC2ui0Av7U00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&db0L1oTEhK;VcB1cw`7 z@(EQ6nU!Dk3jI+dPOLYn-9oxw?^HZCma$>!(2|TGk2Z4r h2r{I|kt9o+Jc%-;%9Sizx_k*Urp%c%Yu+dT06Pe?p2q+H diff --git a/examples/seneca/bezierVertex/p5_result.png b/examples/seneca/bezierVertex/p5_result.png deleted file mode 100644 index 15d5c624973482f2b87172b6c694361383fca22a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmYL}eK=HE9LMi?Zrq8uW-2pn*@H=JY9i9=S>`g6duz>VYQ=hqDV4WuOyzar>IE$; zuiM1XP_iOPrKGK9gow-|ZL>S6EhJ%MMXT7E%|82_=XZYRe9!ay{c+CceA7Jn?hEEG znGZqG0s`j>G`U3^h^}U?@~)O@5+z#T?g~|REFIKrbcLJUxzMb3lr)y-XcX%AxKA_$ z>C?4Afh2_tji@IgJa~GldAf_N7Mn?3mTM%Yi03VGi;Rc}-Y0_GqJo1&!Mnhr5Yb-X zPI!23Pc}4xAov`?#kR$$hSlnb7i&;nkP3JILY`P}!1QFkw(wUtgcR2f#q3;}JRxU_ z^`5m^`dG;_M+}-;jtlN@gA&@htRX}Pg#p4rlK_N4Bm`3so$!s14+KkIKW*7>byX7R zX14Eoz{N+OkDm^adkMHG3BWw8L}ZSX!C2_a1ZS5Is`Z&=06%Rq`wi=->G!x!@aiIQ zdhpYR6LG`(^#_x``H1B5wt3)#<>OHE!^apK#QH&~DKYkOdIZ&TQ+ z_|Wwo`O8D96_Rrmeya=6#M_5l6Xw(VrndU6ZBixFcTIlmo@|W$b1B@J&6DA1+7?1) z?_>g-rN57{Pk?>zD#IAZc&2-0W3H;SJn|VK!D&?Cn}-E;c8)ae4jroSLRUfE z8W+u)T!9{8c?y|fdA?5ua1y7ja3vXGmPCJSHb{bP%TnQFvBHkcL2+Xe(66!Y^pu5l zJG{wg&x0wfR5Kn60hoccIR>@eJin}yhv>Y*ei)8FX)|t#LCY6&&~4oOMj!Z&&8myL zzh&e7{xX2%`e;fu2x;IEW2x>lR||ig2?%$f$NrSIXMer>9f8lV~TF?rl(nUT;tL5?EgX4%wWn+rnHy%Nd1WcV3{;O!fmN_Scer z4O?>k>%z&6(#=wda=3l#ui?%M^LqMdttTrw>%J88Hbj#?EU zWOEuYL$akIlKXv8r#{}AoSb|zI(VaFQ5|?ZH1Yh)k5f}t$K}Z&>~b@4uQRrL!-zv< z$n49WJq+^yugsG7G8z5tzo{wOw@U*0&(oa#`|)5?Z;a?Jg*s;diO8petU8wEoFCYA zU(s3vi2s8QgH&f2#+08e!62%RLNUE#fxIDht}BEk{r#5Mcr0jGM8FUCI;Rc82H2ZPnNsMDY0BYS%#WAJo?zIRF3v diff --git a/examples/seneca/bezierVertex3D/bezierVertex.html b/examples/seneca/bezierVertex3D/bezierVertex.html deleted file mode 100644 index 91bfdeab4..000000000 --- a/examples/seneca/bezierVertex3D/bezierVertex.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - -

    bezierVertex() test

    - -

    - - -

    - -
    -size(200, 200, P3D);
    -background(0);
    -noFill();
    -
    -stroke(102);
    -beginShape();
    -curveVertex(168, 182);
    -curveVertex(168, 182);
    -curveVertex(136, 38);
    -curveVertex(42, 34);
    -curveVertex(64, 200);
    -curveVertex(64, 200);
    -endShape();
    -
    -stroke(51);
    -beginShape(LINES);
    -vertex(60, 40);
    -vertex(160, 10);
    -vertex(170, 150);
    -vertex(60, 150);
    -endShape();
    -
    -stroke(126);
    -beginShape();
    -vertex(60, 40);
    -bezierVertex(160, 10, 0, 170, 150, 0, 60, 150, 0);
    -endShape();
    -
    -stroke(255);
    -beginShape(POINTS);
    -vertex(60, 40);
    -vertex(160, 10);
    -vertex(170, 150);
    -vertex(60, 150);
    -endShape();
    -    
    - - diff --git a/examples/seneca/bezierVertex3D/bezierVertex.pjs b/examples/seneca/bezierVertex3D/bezierVertex.pjs deleted file mode 100644 index 401450142..000000000 --- a/examples/seneca/bezierVertex3D/bezierVertex.pjs +++ /dev/null @@ -1,36 +0,0 @@ -size(200, 200, P3D); -background(0); -noFill(); - -stroke(102); -beginShape(); -curveVertex(168, 182); -curveVertex(168, 182); -curveVertex(136, 38); -curveVertex(42, 34); -curveVertex(64, 200); -curveVertex(64, 200); -endShape(); - -stroke(51); -beginShape(LINES); -vertex(60, 40); -vertex(160, 10); -vertex(170, 150); -vertex(60, 150); -endShape(); - -stroke(126); -beginShape(); -vertex(60, 40); -bezierDetail(30); -bezierVertex(160, 10, 0, 170, 150, 0, 60, 150, 0); -endShape(); - -stroke(255); -beginShape(POINTS); -vertex(60, 40); -vertex(160, 10); -vertex(170, 150); -vertex(60, 150); -endShape(); diff --git a/examples/seneca/bezierVertex3D/bezierVertex1.pjs b/examples/seneca/bezierVertex3D/bezierVertex1.pjs deleted file mode 100644 index c8aa3424b..000000000 --- a/examples/seneca/bezierVertex3D/bezierVertex1.pjs +++ /dev/null @@ -1,7 +0,0 @@ -size(100, 100, P3D); -background(125); -noFill(); -beginShape(); -vertex(30, 20); -bezierVertex(80, 0, 0, 80, 75, 0, 30, 75, 0); -endShape(); diff --git a/examples/seneca/bezierVertex3D/bezierVertex2.html b/examples/seneca/bezierVertex3D/bezierVertex2.html deleted file mode 100644 index 46f2defb7..000000000 --- a/examples/seneca/bezierVertex3D/bezierVertex2.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Processing.js test of bezierVertex() - - - - -

    - - bezier() -

    - -

    - Draws a Bezier curve on the screen. -

    - - - - - - -
    - -

    - Source Code:

    -
    -size(100, 100, P3D);
    -background(125);
    -noFill();
    -beginShape();
    -vertex(30, 20);
    -bezierVertex(80, 0, 0, 80, 75, 0, 30, 75, 0);
    -endShape();
    -
    -size(100, 100, P3D);
    -background(125);
    -beginShape();
    -vertex(30, 20);
    -bezierVertex(80, 0, 0, 80, 75, 0, 30, 75, 0);
    -bezierVertex(50, 80, 0, 60, 25, 0, 30, 20, 0);
    -endShape();
    -        
    -
    - - diff --git a/examples/seneca/bezierVertex3D/bezierVertex2.pjs b/examples/seneca/bezierVertex3D/bezierVertex2.pjs deleted file mode 100644 index b83aa5d1c..000000000 --- a/examples/seneca/bezierVertex3D/bezierVertex2.pjs +++ /dev/null @@ -1,7 +0,0 @@ -size(100, 100, P3D); -background(125); -beginShape(); -vertex(30, 20); -bezierVertex(80, 0, 0, 80, 75, 0, 30, 75, 0); -bezierVertex(50, 80, 0, 60, 25, 0, 30, 20, 0); -endShape(); diff --git a/examples/seneca/bezierVertex3D/bezierVertex_.gif b/examples/seneca/bezierVertex3D/bezierVertex_.gif deleted file mode 100644 index e1bc2c0f53d835fa419b62253ae74b16c297288c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236 zcmVJGcDdBdagkGyWV<0txkr0;hW7&mBDNOzc*sJO_~==dlB7zr>L zY1xRGN%_YKp_vF8>PbafYPukLs5;2nikb?m;Oa+PE1O`8r(4H6=L-j{c4bOTYRn0Q mt1Qc0Z1jwbJ560}eT|*1z0KY2{S6*2K2Bb4eva-^0029gdvR6( diff --git a/examples/seneca/bezierVertex3D/bezierVertex_2.gif b/examples/seneca/bezierVertex3D/bezierVertex_2.gif deleted file mode 100644 index ada415de036d82de42280c19eae9d5478c1f114f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 335 zcmV-V0kHl@Nk%w1VPpVg0FeLy00030|NqR)%m4rYA^8LV00000EC2ui0Av7U00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&db0L1oTEhK;VcB1cw`7 z@(EQ6nU!Dk3jI+dPOLYn-9oxw?^HZCma$>!(2|TGk2Z4r h2r{I|kt9o+Jc%-;%9Sizx_k*Urp%c%Yu+dT06Pe?p2q+H diff --git a/examples/seneca/bezierVertex3D/p5_result.png b/examples/seneca/bezierVertex3D/p5_result.png deleted file mode 100644 index 15d5c624973482f2b87172b6c694361383fca22a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmYL}eK=HE9LMi?Zrq8uW-2pn*@H=JY9i9=S>`g6duz>VYQ=hqDV4WuOyzar>IE$; zuiM1XP_iOPrKGK9gow-|ZL>S6EhJ%MMXT7E%|82_=XZYRe9!ay{c+CceA7Jn?hEEG znGZqG0s`j>G`U3^h^}U?@~)O@5+z#T?g~|REFIKrbcLJUxzMb3lr)y-XcX%AxKA_$ z>C?4Afh2_tji@IgJa~GldAf_N7Mn?3mTM%Yi03VGi;Rc}-Y0_GqJo1&!Mnhr5Yb-X zPI!23Pc}4xAov`?#kR$$hSlnb7i&;nkP3JILY`P}!1QFkw(wUtgcR2f#q3;}JRxU_ z^`5m^`dG;_M+}-;jtlN@gA&@htRX}Pg#p4rlK_N4Bm`3so$!s14+KkIKW*7>byX7R zX14Eoz{N+OkDm^adkMHG3BWw8L}ZSX!C2_a1ZS5Is`Z&=06%Rq`wi=->G!x!@aiIQ zdhpYR6LG`(^#_x``H1B5wt3)#<>OHE!^apK#QH&~DKYkOdIZ&TQ+ z_|Wwo`O8D96_Rrmeya=6#M_5l6Xw(VrndU6ZBixFcTIlmo@|W$b1B@J&6DA1+7?1) z?_>g-rN57{Pk?>zD#IAZc&2-0W3H;SJn|VK!D&?Cn}-E;c8)ae4jroSLRUfE z8W+u)T!9{8c?y|fdA?5ua1y7ja3vXGmPCJSHb{bP%TnQFvBHkcL2+Xe(66!Y^pu5l zJG{wg&x0wfR5Kn60hoccIR>@eJin}yhv>Y*ei)8FX)|t#LCY6&&~4oOMj!Z&&8myL zzh&e7{xX2%`e;fu2x;IEW2x>lR||ig2?%$f$NrSIXMer>9f8lV~TF?rl(nUT;tL5?EgX4%wWn+rnHy%Nd1WcV3{;O!fmN_Scer z4O?>k>%z&6(#=wda=3l#ui?%M^LqMdttTrw>%J88Hbj#?EU zWOEuYL$akIlKXv8r#{}AoSb|zI(VaFQ5|?ZH1Yh)k5f}t$K}Z&>~b@4uQRrL!-zv< z$n49WJq+^yugsG7G8z5tzo{wOw@U*0&(oa#`|)5?Z;a?Jg*s;diO8petU8wEoFCYA zU(s3vi2s8QgH&f2#+08e!62%RLNUE#fxIDht}BEk{r#5Mcr0jGM8FUCI;Rc82H2ZPnNsMDY0BYS%#WAJo?zIRF3v diff --git a/examples/seneca/binary/binary.html b/examples/seneca/binary/binary.html deleted file mode 100644 index 2276e62d7..000000000 --- a/examples/seneca/binary/binary.html +++ /dev/null @@ -1,544 +0,0 @@ - - - - - - -

    Andor Salga

    -

    binary test

    - -

    This page tests to make sure my implementation of binary works for the
    - -Processing.js library. -

    - -

    - -

    -
    - -
    // Test written by Andor Salga
    -int testsPassed = 0;
    -boolean failed = false;
    -
    -void setup()
    -{
    -    size(600,200);
    -    fill(0);
    -    
    -    PFont fontA = loadFont("courier");
    -    textFont(fontA, 14);
    -    
    -    int i1_32 = 0;
    -    String si1_32 = "00000000000000000000000000000000";
    -    
    -    int i2_32 = 1;
    -    String si2_32 = "00000000000000000000000000000001";
    -    
    -    int i3_32 = 5;
    -    String si3_32 = "00000000000000000000000000000101";
    -    
    -    int i4_32 = 2;
    -    String si4_32 ="00000000000000000000000000000010";
    -    
    -    int i5_32 = 255;
    -    String si5_32 = "00000000000000000000000011111111";
    -    
    -    int i6_32 = -5;
    -    String si6_32 = "11111111111111111111111111111011";
    -    
    -    int i7_32 = -255;
    -    String si7_32 = "11111111111111111111111100000001";
    -    
    -    int i8_32 = -452343;
    -    String si8_32 = "11111111111110010001100100001001";
    -    
    -    int i9_25 = 23847192;
    -    String si9_25 = "1011010111110000100011000";
    -    
    -    int i10_31 = 1431655765;
    -    String si10_31 = "1010101010101010101010101010101";
    -    
    -    
    -    // BYTES
    -    byte b1_32 = 0;
    -    String sb1_32 = "00000000000000000000000000000000";
    -    
    -    byte b2_8 = 1;
    -    String sb2_8 = "00000001";
    -    
    -    byte b3_3 = 5;
    -    String sb3_3 = "101";
    -    
    -    byte b4_8 = -1;
    -    String sb4_8 = "11111111";
    -    
    -    byte b5_8 = -5;
    -    String sb5_8 = "11111011";
    -    
    -    byte b6_5 = -5;
    -    String sb6_5 = "11011";
    -    
    -    byte b7_8 = 127;
    -    String sb7_8 = "01111111";
    -    
    -    byte b8_8 = -127;
    -    String sb8_8 = "10000001";
    -    
    -    byte b9_8 = 42;
    -    String sb9_8 = "00101010";
    -    
    -    byte b10_4 = 42;
    -    String sb10_4 = "1010";
    -    
    -    // CHARS
    -    char c1_17 = '0';
    -    String sc1_17 = "00000000000110000";
    -    
    -    char c2_32 = '0';
    -    String sc2_32 = "00000000000000000000000000110000";
    -    
    -    char c3_32 = 'a';
    -    String sc3_32 = "00000000000000000000000001100001";
    -    
    -    char c4_32 = 'A';
    -    String sc4_32 = "00000000000000000000000001000001";
    -    
    -    char c5_15 = ' ';
    -    String sc5_15 = "000000000100000";
    -    
    -    char c6_32 = ' ';
    -    String sc6_32 = "00000000000000000000000000100000";
    -    
    -    char c7 = '!';
    -    String sc7 = "0000000000100001";
    -    
    -    char c8 = char(255);
    -    String sc8 = "00000000000000000000000011111111";
    -    
    -    char c9_32 = char(127);
    -    String sc9_32 = "00000000000000000000000001111111";
    -    
    -    char c10_30 = 42;
    -    String sc10_30 = "000000000000000000000000101010";
    -    
    -    char c11_12 = 42;
    -    String sc11_12 = "000000101010";
    -    
    -    char c12_32 = (char)-1;
    -    String sc12_32 = "00000000000000001111111111111111";
    -    
    -    // COLORS
    -    color cr1 = color(0,0,0);
    -    String scr1 = "11111111000000000000000000000000";
    -    
    -    color cr2 = color(0,0,0,0);
    -    String scr2 = "0";
    -    
    -    color cr3_24 = color(0,0,0);
    -    String scr3_24 = "000000000000000000000000";
    -    
    -    color cr4 = color(0,0,0,1);
    -    String scr4 = "1000000000000000000000000";
    -    
    -    color cr5 = color(0,0,0,255);
    -    String scr5 = "11111111000000000000000000000000";
    -    
    -    color cr6_32 = color(255,0,0,255);
    -    String scr6_32 = "11111111111111110000000000000000";
    -    
    -    color cr7_32 = color(127,127,127,127);
    -    String scr7_32 = "1111111011111110111111101111111";
    -    
    -    color cr8 = color(0,127,0,127);
    -    String scr8 = "1111111000000000111111100000000";
    -    
    -    color cr9_32 = color(128,128,128,128);
    -    String scr9_32 = "10000000100000001000000010000000";
    -    
    -    color cr10 = color(255,128,64,8);
    -    String scr10 = "1000111111111000000001000000";
    -    
    -    color cr11_13 = color(255,128,64,8);
    -    String scr11_13 = "0000001000000";
    -    
    -    color cr12_25 = color(0,0,0);
    -    String scr12_25 = "1000000000000000000000000";
    -    
    -    color cr13_32 = color(0,0,0,0);
    -    String scr13_32 = "00000000000000000000000000000000";
    -    
    -    color cr14_1 = color(0,0,0,0);
    -    String scr14_1 = "0";
    -    
    -    color cr15_2 = color(0,0,2,0);
    -    String scr15_2 = "10";
    -    
    -    if(
    -    // color
    -    assertEquals(binary(cr1,32), scr1 ) &&
    -    assertEquals(binary(cr2), scr2 ) &&
    -    assertEquals(binary(cr3_24,24), scr3_24 ) &&
    -    assertEquals(binary(cr4), scr4 ) &&
    -    assertEquals(binary(cr5), scr5 ) &&
    -    assertEquals(binary(cr6_32), scr6_32 ) &&
    -    assertEquals(binary(cr7_32), scr7_32 ) &&
    -    assertEquals(binary(cr8), scr8 ) &&
    -    assertEquals(binary(cr9_32,32), scr9_32 ) &&
    -    assertEquals(binary(cr10), scr10 ) &&
    -    assertEquals(binary(cr11_13,13), scr11_13 ) &&
    -    assertEquals(binary(cr12_25,25), scr12_25 ) &&
    -    assertEquals(binary(cr13_32,32), scr13_32 ) &&
    -    assertEquals(binary(cr14_1,1), scr14_1 ) &&
    -    assertEquals(binary(cr15_2,2), scr15_2 ) &&
    -    
    -    // bytes
    -    assertEquals(binary(b1_32,32), sb1_32 ) &&
    -    assertEquals(binary(b2_8,8), sb2_8 ) &&
    -    assertEquals(binary(b3_3,3), sb3_3 ) &&
    -    assertEquals(binary(b4_8,8), sb4_8 ) &&
    -    assertEquals(binary(b5_8,8), sb5_8 ) &&
    -    assertEquals(binary(b6_5,5), sb6_5 ) &&
    -    assertEquals(binary(b7_8,8), sb7_8 ) &&
    -    assertEquals(binary(b8_8,8), sb8_8 ) &&
    -    assertEquals(binary(b9_8,8), sb9_8 ) &&
    -    assertEquals(binary(b10_4, 4), sb10_4 ) &&
    -    
    -    // chars
    -    assertEquals(binary(c1_17,17), sc1_17 ) &&
    -    assertEquals(binary(c2_32,32), sc2_32 ) &&
    -    assertEquals(binary(c3_32,32), sc3_32 ) &&
    -    assertEquals(binary(c4_32,32), sc4_32 ) &&
    -    assertEquals(binary(c5_15,15), sc5_15 ) &&
    -    assertEquals(binary(c6_32,32), sc6_32 ) &&
    -    assertEquals(binary(c7), sc7 ) &&
    -    assertEquals(binary(c8), sc8 ) &&
    -    assertEquals(binary(c9_32,32), sc9_32 ) &&
    -    assertEquals(binary(c10_30,30), sc10_30 ) &&
    -    
    -    // ints
    -    assertEquals(binary(i1_32,32), si1_32 ) &&
    -    assertEquals(binary(i2_32,32), si2_32 ) &&
    -    assertEquals(binary(i3_32,32), si3_32 ) &&
    -    assertEquals(binary(i4_32,32), si4_32 ) &&
    -    assertEquals(binary(i5_32,32), si5_32 ) &&
    -    assertEquals(binary(i6_32,32), si6_32 ) &&
    -    assertEquals(binary(i7_32,32), si7_32 ) &&
    -    assertEquals(binary(i8_32,32), si8_32 ) &&
    -    assertEquals(binary(i9_25,25), si9_25 ) &&
    -    assertEquals(binary(i10_31,31), si10_31 )
    -    )
    -    {
    -        text("All " + testsPassed + " tests have passed.",30,30);
    -    }
    -    else
    -    {
    -        text("Failed on test " + (testsPassed+1),30,30);
    -    }
    -}
    -
    -boolean assertEquals(String str1, String str2)
    -{
    -    if(!failed && stringsEqual(str1, str2))
    -    {
    -        testsPassed++;
    -        return true;
    -    }
    -    else
    -    {
    -        failed = true;
    -        return false;
    -    }
    -}
    -
    -boolean stringsEqual(String str1, String str2)
    -{
    -    if(str1.length() != str2.length())
    -    {
    -        text("Value should have been -> " + str2, 30,60);
    -        text("Value was actually     -> " + str1, 30,80);
    -        return false;
    -    }
    -    
    -    for(int i = 0; i <; str1.length(); i++)
    -    {
    -        char ai = str1[i];
    -        char bi = str2[i];
    -        
    -        if( ai != bi )
    -        {
    -            text("Should have been -> " + str2, 30,60);
    -            text("Was actually     -> " + str1, 30,80);
    -            return false;
    -        }
    -    }
    -    
    -    return true;
    -}
    -
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/blendColor/blendColor.htm b/examples/seneca/blendColor/blendColor.htm deleted file mode 100644 index 395954e2d..000000000 --- a/examples/seneca/blendColor/blendColor.htm +++ /dev/null @@ -1,11 +0,0 @@ - - - - blendColor() test - - - - -
    - - diff --git a/examples/seneca/blendColor/blendColor.pjs b/examples/seneca/blendColor/blendColor.pjs deleted file mode 100644 index e3a69314d..000000000 --- a/examples/seneca/blendColor/blendColor.pjs +++ /dev/null @@ -1,162 +0,0 @@ -size(400,420); -color orange = color(204, 102, 0); -color blue = color(0, 102, 153); -color orangeblueblend = blendColor(orange, blue, BLEND); -color orangeblueadd = blendColor(orange, blue, ADD); -color orangebluesubtract = blendColor(orange, blue, SUBTRACT); -color orangebluelightest = blendColor(orange, blue, LIGHTEST); -color orangebluedarkest = blendColor(orange, blue, DARKEST); -color orangebluedifference = blendColor(orange, blue, DIFFERENCE); -color orangeblueexclusion = blendColor(orange, blue, EXCLUSION); -color orangebluemultiply = blendColor(orange, blue, MULTIPLY); -color orangebluescreen = blendColor(orange, blue, SCREEN); -color orangeblueoverlay = blendColor(orange, blue, OVERLAY); -color orangebluehard_light = blendColor(orange, blue, HARD_LIGHT); -color orangebluesoft_light = blendColor(orange, blue, SOFT_LIGHT); -color orangebluedodge = blendColor(orange, blue, DODGE); -color orangeblueburn = blendColor(orange, blue, BURN); -color red = color(255, 0, 0); -color green = color(0, 255, 0); -color redgreenadd = blendColor(red, green, ADD); -color redgreensubtract = blendColor(red, green, SUBTRACT); -color grey = color(128, 128, 128); -color bluegreyadd = blendColor(blue, grey, ADD); -color bluegreysubtract = blendColor(blue, grey, SUBTRACT); -color black = color(0,0,0); -color blackadd = blendColor(black, red, ADD); -color blacksubtract = blendColor(black, red, SUBTRACT); -background(51); -noStroke(); -fill(orange); -rect(14, 20, 60, 20); -fill(blue); -rect(14, 40, 60, 20); -fill(orangeblueadd); -rect(14, 60, 60, 20); -fill(red); -rect(112, 20, 60, 20); -fill(green); -rect(112, 40, 60, 20); -fill(redgreenadd); -rect(112, 60, 60, 20); -fill(grey); -rect(210, 20, 60, 20); -fill(blue); -rect(210, 40, 60, 20); -fill(bluegreyadd); -rect(210, 60, 60, 20); -fill(black); -rect(308, 20, 60, 20); -fill(blackadd); -rect(308, 40, 60, 20); -fill(red); -rect(308, 60, 60, 20); -// subtract tests -fill(orange); -rect(14, 100, 60, 20); -fill(blue); -rect(14, 120, 60, 20); -fill(orangebluesubtract); -rect(14, 140, 60, 20); -fill(red); -rect(112, 100, 60, 20); -fill(green); -rect(112, 120, 60, 20); -fill(redgreensubtract); -rect(112, 140, 60, 20); -fill(grey); -rect(210, 100, 60, 20); -fill(blue); -rect(210, 120, 60, 20); -fill(bluegreysubtract); -rect(210, 140, 60, 20); -fill(black); -rect(308, 100, 60, 20); -fill(blacksubtract); -rect(308, 120, 60, 20); -fill(red); -rect(308, 140, 60, 20); -//blend -fill(orange); -rect(14, 180, 60, 20); -fill(blue); -rect(14, 200, 60, 20); -fill(orangeblueblend); -rect(14, 220, 60, 20); -//lightest -fill(orange); -rect(112, 180, 60, 20); -fill(blue); -rect(112, 200, 60, 20); -fill(orangebluelightest); -rect(112, 220, 60, 20); -//darkest -fill(orange); -rect(210, 180, 60, 20); -fill(blue); -rect(210, 200, 60, 20); -fill(orangebluedarkest); -rect(210, 220, 60, 20); -//difference -fill(orange); -rect(308, 180, 60, 20); -fill(blue); -rect(308, 200, 60, 20); -fill(orangebluedifference); -rect(308, 220, 60, 20); -//exclusion -fill(orange); -rect(14, 260, 60, 20); -fill(blue); -rect(14, 280, 60, 20); -fill(orangeblueexclusion); -rect(14, 300, 60, 20); -//multiply -fill(orange); -rect(112, 260, 60, 20); -fill(blue); -rect(112, 280, 60, 20); -fill(orangebluemultiply); -rect(112, 300, 60, 20); -//screen -fill(orange); -rect(210, 260, 60, 20); -fill(blue); -rect(210, 280, 60, 20); -fill(orangebluescreen); -rect(210, 300, 60, 20); -//overlay -fill(orange); -rect(308, 260, 60, 20); -fill(blue); -rect(308, 280, 60, 20); -fill(orangeblueoverlay); -rect(308, 300, 60, 20); -//hard_light -fill(orange); -rect(14, 340, 60, 20); -fill(blue); -rect(14, 360, 60, 20); -fill(orangebluehard_light); -rect(14, 380, 60, 20); -//soft_light -fill(orange); -rect(112, 340, 60, 20); -fill(blue); -rect(112, 360, 60, 20); -fill(orangebluesoft_light); -rect(112, 380, 60, 20); -//dodge -fill(orange); -rect(210, 340, 60, 20); -fill(blue); -rect(210, 360, 60, 20); -fill(orangebluedodge); -rect(210, 380, 60, 20); -//burn -fill(orange); -rect(308, 340, 60, 20); -fill(blue); -rect(308, 360, 60, 20); -fill(orangeblueburn); -rect(308, 380, 60, 20); \ No newline at end of file diff --git a/examples/seneca/blendColor/swatches.png b/examples/seneca/blendColor/swatches.png deleted file mode 100644 index 7ce9882ccedf320f57ab9f6d2685c66686c11db1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17300 zcma*O1z1$w+b+Hl1w}#yR9dB5x+DbYk`77fuAy5Ll$6dPM0yD68dAEuI|qb8U>KUS z`F-zuo$q|-`d{bI#by{-Ydv*8_w%g1*L-`gB#nndiUR-uo~+C}RRF+91Fz2eSm0m8 z)P?iGmj{kAIxYb4knr}x08-MP0|1V)m4w9m_m&P22Nz2R#}~2^5-%K`9n7t4%>ck- z7OG~Uu7-Fjj9xqzm;V|NC-0z2eE)^2cvt{YG#%5+2an{wzRa2-R%v}KDS4NyJM$}M zWMn`%u?h=rD9$wY`pX}YLD^qJdoNbJvu!3D(VGL;RZ}8cup?;25O&Lb+yoge6`lax z0&&X6%RybgJ6G1(!~$_>9DzsoD@tO_Z#%O^=^UL24AOgg^BE@q7F)54yXcCNEMc2E1nljOhJ0$AAFn zX|gv4@FDIcF-B%I@Pg3n>pQ?w2!IV~hDrk3uK^-+`QHM-G%N60R?A!lD60Wl1|K~v z2kzqnuT{Q&VFd1a14iA{)E>a+WPnKOQ0vWK=8{KSOrWQd%iq+|2uKEgxXOUk7+afXG6`oOH^K5zKLBJ#6NAf+M>;{MeEA;%RsgEEkv}OFTfC zwFriHG;6-T3Fe7B{UdEi%PJZG4jUX=#~JQp23Q8I47uMRMX#hYX@LN9*%&7PFnCA9 zrruj2+I1fQ-em?dmAxf9Zhg+uf<@kXZ@%^6r4jFEahl(4;*Z2}OasWBjTm8{#2JDI z$|#tO*vG{vxLZ^#gJT`>+1fN}@r4};&W-Phzl%N z5gx~_lBmn)BmFG( zwu}GbXL%57()a5X47aG0v`iC*+3*czGW5&+?vp^tmIu6d-Nj!RQ@)kaR?t?OmdSrX zPQ(3p_5t4m%+D%q^si#`xs?-RUf>dr9QtH^ASyP*GY=JnI7tGyX)}ia|>s;$(>n{&K;6Oi$ zIsH6UTV+t~wU#5PK+scJ z`JCb(@nfWx&n(earQ4AD#|!b4N{Pc-qkRbJ?Zj=&V|QGsn4;WTadUv zFHKU&B^e7N=~92q$FZBVl}wQAprOrF&E!KI-HQ`17f%;Y#>B2(P?%e|Sol!mNTW|Z zs=z?aw?s;VOKq*-!FWQEMj`b5t{Rz|MS)O$NTEf(gSzNXKb@;@SUT+r?aC5ARWg4W zt~GYPcxXaW;lc9K2CpdCHIU~w-LHWeA2+6kq$`SsFyX?2ECC5FIWDaV)uT9bQS7xO zr_(fu(t|CAyu>5F&_yC7<0>OrF1JD*hnb#DVM1bpc9BexN|E#~oVR2z51I>?Y|yy~ z#DCi*N3TaOZ4oti54xo`qqdNTllN3nSP)ghR%nw$meugiz1co*KPkP*ARt}AA#c$W zzI9IS%YLPPWp|#3lE&4>s=%een!_D@{-%S+$>9wJd)M4w6$$-zF^L@Gc;m#C&(U=w zZ?Y$(BBThytvdDAXx8jH?K-pRu;^aW$t&(C?x(0K*5xwh3MmLFbPeX@{}GmAQxprfy0 z-{e2_u_cPIrIK|nbi>!>ASfsO6|YegG_@kNZ7+YWbf0(MYCmK?qn|s2FO?OS7a=Syi;g=-|f9f048?T!YATNLx!vgbL;M>3tcP>u7d|oz3iVDt|os`e) zy$#Q-drSN_>QnKjjn?9qmfe587r#VrB@IRoTH$|r@3%cUjBUJW9MrndPhJt{3fOGuP>#(1vQu z+RBp)urZbJ+S@iQUG5!)tU^~Gu6aL8V(->>^voJ;JN}aQw1Djii(rD7!dE5!xP!Nk znDU>7(;gDK(?;TWwo$ZMykZ~W9r-#fp~pn2bST55=oRxPx{=3|rh_YoWuxvheZlue z1w4g?RKfJ8DQ++9IE4k_96>SB-<`w@Un<5{TkKeDn!EME%)XRgci4y3uv5lk_t;c? zhuza*#i&OET!U(q}Foi7cUakKZN?a4|^bxyFn z7AuAJCLCrhQ2xfra}H;X_#ShxCKl{XZD=)<-Gp+{o>pRsADqrh(I(KKwf9qN6^703 zLk*mbFTT6;Q+xW#+Uz<@RmSJRP%;tXZ=oebbI%fq{ihk`JvPWf9D19R=i@31ihkFb z4w;XdBQ_UV(?8%R6eeya;@jiR%vRzpX;$u`P9*2p69*XP8iJ}N>av^P)Ha&s^$ZRO ziK_opKUP0i=iMJ&s4|{9wIA6h^KLxh{xdQ6p%Hy0($h4jfuW%|VLoAYA$w7Q7A^T! zh&WBSu+uMAvUA$&!W_lC!luTro~j$4pcoZaSB;uv-j&AhqH4N^BHdZ>c=0qM(mGeE z9p8DbBhU|)(3E(Bvu@$uuodhvDmMxX3U+Jpl*1IMRJD|g4vMSL2IwKyCKhsHyF{n*atjplw-dvBQxE?E;eAnPANRz@Xn!nTAO zg$DHwYaxf_a~p(OwOT2qf`)cGkexTzv17_z4QUN2C3Si>b^BiMDsOW%f-IeHaN!v4 z`SU@Q`%##>09imHrcKzeJ zujJWNcE8h!-KoKmq>-$|!^GHTJD;4Zot9ma(z(vIPRgbp4=xUaW6g`bR`+>#3S{;Y zf%3Y~3x9?i%d=l7wc)&rSd!S-o4c4vN0%mCtaD($dDr5t;#&at73p)K5(~b6VIrfd z2moHR01yxa0B1MgD*^yqUjx975da7#0l+hd7{d-J0N^i`efL(~WA@L2cP*`k@8)0k z;zD2hh4}^!EE77C%mzjERV!+bw+d;GAKfJi@ic!z98oP2+a>>mxH0DW7aBn(k>qJh z+@zkh*mu-eME!3(Up;eBw&XM)w||uV#9<-tR~FfJ-%QoyrAi{a&~0Mz;*Z*ekidm%l{*~u!DfPqOGs$9w00FocuQbt1nRz6Ky|e(jYDE0XXr#;G={MB^3qjP zQ%gxtpFBRUG&eWr=Hklck0h3ihE}r zE7p9enY!{tRo7oQ4f2R+qR`Tw{VExK`K1E>1l+7cxfvuT>uJo3q7!JA}h6 zb^C?2S95S5j}P90y_RfDw}6&UDceQ;RJs9vdRSxJjo!CL_n5RsWbehhm{<-~Q)(SD z#!#V|4ed^dsjajVQJ-!RgPdrHim6%nfJjs>(p582_FACy;t%**>sPpRbWzaYZ)3N1 z<(1RdAw<75R%$=0u}VlgNm}l zpDgytA1<0jMH^@}Jq?e>@~MmxJZI4N-mCH&urbK~BK$BWTH##zFWfjso^$4W53WRb z{dU74N^pn4_gvp$z=9rPxgh;l$Q|2(VLg;IF9GgzwpZLD;a^J!; z;SAp#B$$o+w6rrO^{eiqiOC*T`+slVI(YPbfS~9_3aD;QyJl;hvPF)Phqmn;yi-@1 zOKQbadF@6mL@#t$rJu{WzSTf?k{x3h?sWR5Ws=ZC5(pKt^-AaN6W~PptbITqIg$`O z3~;(*nl`s%@L|FGrQXx*&#nu;e0J*6c-JbETbW%&AD(r%^e-V-uymyslejG#<9X;7 zo=H4T z-a&)Xp+Tp2@~X1_lH2U*YKCffqF+y*C~AfZZRgrwh8BC28=uKh<^N~nXbKtjPKKSp zLywv|!=pza*$a)fUS0?c)lggsq3Uzlfz0 zJB}ey!ntV94(x@v8ljo=BD55Ou2ZJ7mr04wS?A%WU(v8{>k*1*pZNVO@1-Il8nw?# zes#^gswUH)r*@fAcD#$&8h3Pg3g^OCuN7+h^&HfaSlLsXI6XJev390pT4wbu-mTxS ziwEpkHAu}{_M3+cEhx`(iSP$BBBOgIrOVpJ+T>l4?SE#T_qaYA!}0q2m4-1PnlGlp z$~E?91F3W8vz1txPz6dsk)fJEJw=|lE>FtW8@*D8i^q4mHT)L$dK>H!98aGjt;NDlEz?mb5=@mgV zOs9)hu72S-ue0}gqMf_#-`RLpH7XYOrSWuiMnRt(#;Vkxius7OcnJ$*-_Tm12%sk!Fbv3nh9n$M9oe?-PbaxHq~yb$EvjveQU?!bZPYAd3l@z+P{Mn}X^Z7YZ(@EUx}!U68$Je={et&) zC8kD%b`{=@>pqU5VZ5ife|>?Ry1ev}=sq2Fnf_%G5-D_DJG;~A&F*ii zBBB!~=9@aHgi!h9 zbKigQ%PMIa_Kl;rjm|+X%&Xz4WbAB(QrbvIqAhdVMyx*^4iP3uwSe+x?@M5Znu+HB zaMF32sbN}TGmh3TEe-wW*!6Q$M{9tJa?72i+l(#mpH zQkl#%na;nxBkz0pcHm7m{)^|8A;Pw6^=WeE1+8QJKZX<0fk!`npW9~dMugW`xy15y zEc!c0?1e2CVrf!}Wb-Ps@%+KQdgEWp8-d@Ct@2qzn%$O$gn7;P{fZ~aZrElOjnj@B zp^i=5b84H$a3{%FT~Bh!Qi1{Ym$ro&W4~!pS1)I}1!ZTQx+toeW3|N2@;hfQoRsA1 z580xHoPR#QYZQNNvaxPD&Jn`}Pn_fy+*{3nM!T1=L)ywbH-j1VFDtm5!@}Uv7H=!` z_$+x{MBwQsE7Q&su{2eR)>fk90r19BzrEd26|$I5aKk$WGkJDusw{pTrN|7R;a(Rd)+>cU6Bke54{#qUy zEau>yb}TlRs!Qaw(q9S9woi6smXVAb^4lhBBH8_yrchIR&DH1-_M)=8iim6+ zxxlDRNzA(4>@SVuktF8?Uc3;$k#D~m>L!fU58?1CH#eUwFP zj(W6?p>$PEEeL%4w0eT|{(kkxOfisSj;?K?3?KI;ip#bRhY5+LX6Z13n|IKMsYhxI7b&~To?DXs4|jPL`@_9>)qH@!qz|Cmh5i&Gk*%J|o2yASW=XloUWKX$+QWk?*^LRhyrQyJ{6c!VMxpTTA-tk^V_`Fa23-=@AAzvc= zJe0Xp{)^BsNcs-GHK&~*UE%e$f)j(nQ&|LEKQr0MUU|;ir@*ID4d_23gAMykZ5^|f z4$Mn4S39D}@x=?u=LnZ(r}kf7=ZI##iwbJ#$nBTnBgO&CwWYq287X78+YvfJC{?%cz6<4x~$bEz8=vT~=hoKupd12yC z)hg_TS)uI}qU^4eW9UYFbxr&BJA~HNmz4J#>~& zDKh(>QmpAx6s;`%W!{n|#ONhnj_a-~QuMk`>CM#>Svd*m(UqW)?x4FnQl)qcN$m4K zrqch)!Vl!BMs?`%=d~Dn4{~_palI(17p6*vtma}%r%KQcY;9XVc9o_|673S)^z-QT zAn}VnS8Q;I+UxgX16^Erq$(Oy1wuQ^0dFS;^Np+GG7B1fhb_x<1D^9_N)=cJe;Ldt z9$*lnuR@Z=x*uXon6)>BH?B1|Qh#8KY=d7rbER->3J(Up+06!Y84iG#5)x0`>ayVrck80kw8mlB0lcN$~2GYRnsA(k~X zQ&rEg+E|OBSsFl`Dtp)n~ax=l0JrN7}2O_YNj`N9LHMadvU^=6YaCCnMZV-<5#}S z*LWP4*FS}(nz&M2;OzUr7tR{V!CknPeNj+12^(+HpSC{J2} zw@D2>$Lw^U8~^;U5d5=X)Cwo{ZTtuWS^#EMa_$~f2z&cdz>?o{Po0sv|NZOjvv8rW zrt`~xTk{$rf5LmDe{7Tv9rKR!T)mhup2}uHs`!iScop*Q2G^k6z8@|XiE69Smy~4S@orpyJoID768+_H62mO7W?xrBhd)jd9 zH+qp4o4aY6w`FP$ep}?sSk2T~Nmi(Fa?Kp2rp7=+X~`nAR>*z(Ipj{RYV$4eg^x4M z!7N&B7ezeGOwX{gG(WFRM-|fVB9Ygb)kI_=7oo4`&z{lmHVTOrvio1KK=YyJVX=lK zWA>NTC5tgU+0bh?-<3Y9(Fwz|B*-~Es*OEQ(fVOcqozgUsurYOSj$F!IHW>)R1w*v zMs+nReEz*ovQ&7D`25eHHw2Nei8t)MNWE}S>|k|NV&l4Vb|Y`dkF(GLI(Yi7 zhq>?0kkPWv7fy+;CD)%Ik&~Y6f?B1Q<4SwNyYK7{gisUA8F@DLb9##swYzKe+r53q z$qm&q4{Nq>yb$L4Kj++h#mL9mn%>+BUBy}@3;ej+kk?jR1 zD@1q(O{#y@e=z8GwO*NNs346->I;YCa;r&B3`i&Ec`dQ?X77?m!fasyp~=MR;p5Ea z@{R~@HYV|IRLaA6teC23)3wE;8YxZ{uge&YS;saGuLa~~>sMd?uI{Z0A$7OAhp*p1 zezRf5BI{(K>;9*+1MWwX%F4;i7}_}M z%trO~F)rKv^ft9)LjCJ%bV7+J`yw+V+mii>?C$1y;gc;dwTL29bu59pM?-UkEsuqF?b z&g}EcZI@Dhi3}n15Nd+}nnOrywWW1z&wh4vo!yp&led6=39ZU{!@o?HaS0nd+x}3M zv-xu9Y{p+1Bg9Bk;5|>bvrj@*S0@D4Y6l*P z@bekO?$V`?o#>X_)k6Bct4>CxnyY;suYoOZ|Lfl`y*IPfUuSa%erYeILS&NUNO;e; zQngF9DfYGmDId9Al*#>_h?b7uMEof2>PR z*;7&ynnX|-=k`@DwXIjYi8~)0?He0&0dLP0C8xq>wTce|3nmPCG*!l<5fGwc!$eBM zSPBP1i!UDp1M}F$8A55+ps(saTF^$FySR#N?TFPy&B3OQP?>`hK{FT3HzVhexr}@7 zrsn=MsJKmmyLSo zn!Ms|R=E%_xVv0&Y4)Zp{G*tmLIUREg*?{x7I zt11FLJHoeXmAC{Gz1aLjd9=WcYJ9esi+A??Mt{nx@5{{(f~6A-Xx+<;IXwCuZbG-O zCxUXw^S-TZo@-@Pl%aQSqM4;~-)qbu`Er&73lENXNegH{Y7<@wQs1M+rhs%U~R#;qejSt3S$_*d4T( zKD5;hpZE4U&zn|2$V`a4prZkS2es+JEAl!S;no*5?SZe(ObWP)^SO!<*^#X0mNbkw z;+?vs)8>KH^d{ce0h?LemCc1oQG;<8QR-~*wy!T|1bgZXD3X+=NC!$1Q-yWADB<>w z%j!!3V0VgmNG3arF1^WvT>XqyV$%0NXvK{1c0WVoS@?;$`)+E1xMsK7>Khzlie^Vp zY!bM3l2DD|q4f$`Q!{dFl8#&#yOgGcuk4I;1oqaiugo|Si#h)1qZ5KQCS#d_ zi>UL0HE(Lg&==h$4qmexoX_+!ZIqkk+2>fSkj3W*-i>Sxero4OhH!<9=7Z#VokYaB zK3Qn5`G1A(+z(pUiVY3Q+tFIGg^Ywaj0hk_)yRli4e)(woaq1A?vI zXAL(x$fMC+ro9zcs*@eaX?CPKnfr@YRZPqAOr62jX2q`UaYZ?S!Et8A8XgoYo^R72 zO0YBRtldk|gl(6#CYrV8O#vTKPyU-Y!8D-4&+_Qk91yD`tv5R2wp~Tg@f&q4&4{?A4>LEUb^@ZmMkKvX2uD+wjtfe6 zb;ug$scs^gTxLsmxeXsoElW_i)oTiw71gj-Ihc3;g+<}vm)7fSf4(q-V5D#zT|?D!rB9GO zG4{G*(&_t9|FWh8a#8ln4G!KjMZ)_wj#k&V8h>@HsB|oEdB}MaP>f7n?|Glk*@)(f zo~J55>!OaQ{0l|;SnLTMW$b(LL#gsv&7fXLf6`k@FFQ(hvGhnvp5pH7{q^*| z2PwHYX2aN31x%zwPlA-9IBcJvXO7sOJ(w=s%|dYF_{LTWWIa0hrGrBN- zIdq8~uL;DT(6~PS*Nomr#8R#=zRHQaqK3>V`L0NYr_8v9q^qz0gqf}|(CEOvl=QJB zK;B1XVx4-devnyKk2i&ts&x}G&mp}VXXw!=f+|qn-EVM5G+msSd!K0<*C2xo!%Q$Hph+hiuC{ z=Js1cR}G?+>#l;RF2(4f5Y@l%eaz&EVAxwd~F&4s1Zo+%aYeWPJt9$zXqe|ftdGTj`F)KMm? zo#neMRT8P#_x6|3P?9=Xm$)89Y>h6(F64TJ$v6S|{Xr%YT+;3kaqmR??KJhfLruOH zt_~J8Y<26++xe*7&ShJ%eYA}x_E4LxFnI;GiziM;u%B(y%WKG%h|y>f}|70#N~O*wekR+Ph> zJDlXaL7l3fEQZA*>X#m*j_iPSD^0bW@2=oOv#rs$cLyyjBnLL*xJIMUESAPd1IbB- zaw#XSk$=`5v zygcQF+k;!cSFu!vv35U-3;NZj9;O~1GV#6FQ0CGPr|VZHQ4x@xTaLENEuDS6LZZ)1 z9I4@m8_U#Xp>dvfXkq_}U|TCQ`q&>C5v%4X|V69+Is23ohFvV3aj(5 z;U3-}@C@`h^{9%?Ov0i$1|{w{-s+l`cDT>dBf*Kswky8Jc<&h_EVv}RjI2Ldbm!O9 zUuRse`Lu1NvJ4@){b&#V6j_cz zRr!}7wPWX#`LI=f>bae!H`M?GSxL^~5<`V`)Dsc;;?o_s-&m-cxRC8aA0V#)F>TL} zYAF*TUjo}3TCAab#oyWZtn7B8ams#r(C>W3JK@UhohgkthaKC6-9NW_7*9qkaJtmn zULy1U&JeT(z4E?dTX|o#_=yX1Hkp*3v4pHxQ=n(DY$U1Ouk;3K%WqX{-Egg_sC{y8 z-SoHo41@YJ>#;?M{ueIWELK--$Onxf)yT&>a!Z}6k>jNg!*|32>P_rZa?7k5GR*7x zoCPKnJ`8BDo$TU1Y*twe*|<=#;*~a>31ZtE?G<`^z#t9ZwF9>}7X9)kGHWk@; zjtZ?9SGWvnkom-l`f4`UO)w$o@jWVdPEK?Dn0Gp%X}==y^iqj6$l@nd1$Pq1qMPTZ7EkJ} z$MO}4<*z(_MZeknks#xyRjOlTZJuw&;G|2<&4I|gt%^fXoa%5>kxbx^l2q@{lJ;}` zX_*Bdh*!PyGcu<9jqrhrmIXpcY+#r->HqLKG3%2tiQ6f@< zgj?*RWAng$B+_|ng!;tOdUVeX1=e9BkL5Ja&E)g8XHA*PKC6UP4he7c1ffcQ;ouPy zYil{EQXY}u$~Mt*UQeb=Bd*{{K}jep#g)O#C!(&BnMD{z=V$58#E_1JASQByxdxG5 zL_;DeZ;&~g_UzTY317c?1rC4R*Sf{3=U?cHDtNaav2SubOt8suU`gA{v=TvHb1{uy zDT=Ua-ptIj84m}gRus0U>{9u^Cn|0suatoLp3Ded{HeGQ&trGo+}u3=rtBl$Md|%# zSjcq{0p9%=^f`U~;RO&tgV;=UnDpF24Ov)Gu`1F40n&W((*U3;t}qP#tZc&o0$MPD zNBqElt~=O3Stn+QiVYC3QP}qc|MD&XliB`#7Y{H}eM_jMYyE%>Xp#H;CgQS# zax^6BuUH&HW?yRz{)58i&(Z5sqo3F@VZ~l8JCN1#ne5+qb(y2eH=Jz_8o)bCY~W&^|&z z1v}7~uT5)?{L_TMur-gGIuE>0buuKjrnJhqsJgV^o=~Zc=2m(KDH%ef+0|8~l-cie zn&-q*8#+%qw=9Z!tW2JP_w*o!?@)>pCs;CMiv<9TbcEnJlU&p$<#arsuz+FRz}Tk( zzH-F)S(tz&wNp6bGtSN==P&KR9iZjs>nhOouSi2A2?c=ww@*?r3QNC--QJU80I$=z zZLtP(uz(g$o3zZ0eugL#o8pbTwm`tiY9~W?>>>oyiINvL3=62F5@|hiER4sy6~JuS z7HE}F2HM_Z;Zoqa)WG6&hZktMdxyT^1=V_J)#TH+v4&WH(dF-+<_(GLu~L3{s528N zj&4i8fU#J8Wf*jyC99(zyJMRCP}mwAiAVYZ0swYcN-=TF&>wBTCYfMv0Pvj8Q57Lm zb!lx?ZP|tel<6&=easBtm?_Am?Uj9ns;o zvz6u*Elz_R+@!!Tj?Ix@YJNWCXRi~O4J@LLwv3jCX^au7yA%{SK#NBxVF_`?)X%&W zHat=zYcfFWL*UqMVKmKHs@022NpMv{e%B>=wYgj9^A@EwwHU{df@u@4c=deGWfFtsZwL}Gd^E@^DR;9@KKCDZW$Ex$3Pe-K~;ud~Vu@W>IR9+0%w@$u*mF&FT^qq0&%W z8UEKPx&(alj_rj$211k5TgHCzK9q&Ys<#p>#Y*VR}PMK!F9qqG$yK#2f9-&VUYT=w*cdy=AP|1;gLw z@KcLtn{uD7HkRnb5B0%*T?LSF1S}~=jWQP98{C#PnwY6m&VK-f)x&i=`K402fGXQ`ITvAzj`TYV2*-iM?F<4@x z={)ZLe+l}^<#z|T#UrS}zgqlL+5$3yTR1w)h(NoZ$*ZPjRoMBZ=hWlanhC>jj*g0 z!C^^1`5Q;2wrwX)c&dOc*8wmoVAzwGpv*FB=Kn3^U#0(>cm6H@pho`>E17BSZ`g$8 zU5RT=B8o%oicsIq>}>u(`I-eq38rAbhT3=Z@YF$F{;}=&+Z}N;T(NU?PnBJ#swvJ=Clcl+Ag6-ET1P1Jd?JL%66E@gJm#5{QmD){CEG| z`Vdqo;Jjr;Oc?-(@quNPK5uqqFp!!Iu5o-nZ&~kzIaSp?f*xFfkkNV_zMdA__o>Sp zoHp#YF4J3>_JgV`FR)#P2N3fnjwE1$!sZ`?3uT(IkuiLaQtgvZsZEgq3r6YhXrB>S z0&Qd#*i37wW{7Fz|))&GoRPBW-T zd0_t&q~&4fdx?Q znHI-E9aC=0O`iZe5}J0zNyqFSej5x{E&jzGZ}zP;njT$hX2wBjg6AgMazKD46ZuwS z%x_sv&d%-&qhWy1;|?%e;OL{WqHVJdk4C585@^p|B~n3n*2t~-s1_AoIo5_Rpb(hY z=~obFuQ58G_xxOnc&um*4!sx2AvLK>V&Xle!wuHxdy!RiP`j2}&2`P~Ncq9D*+-Rs z36mO+BJpf?J<@NXzff;y2XCJmDDBO2?W&lZw4Sau0lPn&r<0Rg#toD+LqT{cBVLBL zJ*s8$FFG4JF3Bnhs@qVs^yJDt#Kx65zIDtaene*AAvqM((&$GcIxPSXcs(OWk4teI zz~4-%-#02j#)~&PB6{U!v!AvN7<2g*EXk9VJ1*ekR`5i5&!hM2idvPhP-CNXhS%2Gn zl0AnbA$D877sd29|oS}meq2W zJ(oZVFoJH1&+O5mRXSuNd)<#~k%I#^nCN*IQB0&ZqwKfr z;e7hrs``14+@YqbTd0*Tn0u^u6`hvzIHFC?g6$hm}w=B z_!NTb^;!QprcrJR0DD-2tszuwJOvwpCaky3-rm6?*mf+p&f-{DTZhu#1uRS376(52R47|0$6=YCc~v<&S47}6k*=$1gjIYNshGU4c|oJU~m^&q`gci@)f zWWN@zh=bs!3k(9AND%G+wihrFr#bgpjk&4uJ84rqMTefh{>uTFAVC``z5?a_x558| z?Ea}xEy~O$xFBt1f&_It;(v^~rNquhHGWYKr^?i|0;8y=t8)#I*gVZl8B-L^P1Td_ z)f7c8!rLiTRg~P#f>XDW|1GNjEOjgB-*R}n-2d4+{Hx*rkX^RAT8(tPHh8*YebCyl zrE|ZirCQWn7>0Fp1lEsF98xjs@H|junBD<6Gl2LlDCD2T{}o{Kog*0Jyjvop%$fLq z*!a&}?cLQKfjsoyT;7Rf6$HPJoZ;yPTG^t}o7(xD|r{ znC9752guTT2=7xar0>BsuN*sR&vOzpI%~N-F;;49$&x~wa zL+m~jD;5HmB0J@l^+P*X$4jM*a5`j#*$%uhQLkDLnwaK(IM{b~X!2BkN@gaLNM!UA>Dk*?%Q#o35QOB5I=0ax;8RmgCp=KUbA;elnu`=Z8DV1?LujZG z0wNgtqxOF0?T3a`tT4ilu>31^zfDaaKcB$s)79Cu!&X=b=EY6f(Q;k;@y7Jj?KNPq!5a_9~{Ui$C4)vZNO&m1!2*k*%*`=mDEuReGVwt6`Y zqCYX~K-f)=k``xqYm;8W*p zekDA8z3XN;OJWx8?S6CQ{Wr|;Pcy36A>vpHW*6HhPIn_BEL>byCjjnVlqxDJQc_cy zeHE3J6APizCh=VRE)>V^?fWi_Q99^`DD`F7x|jZrxBL9XNe*73TFsmW_#H!oSoFwQ zm0eomo!+g?nG1)74>X1DSX8zk_VDt^Xia>|Fq5i8l6)NIo)Qn1wG><^Y)(O4a?Dil z=8a!!;#HOjIxZHa^3#4}Zergw4AXZdEdA|CD_ftoL2E-}lG81tV#-Y{of29s=ydKi z)=PKgJlI34^i4jF25~f4(@2-^7^?lCtyCAD(2Um9LR4+;j@?~}DP6LKYR6)Wr+i=Z zJcE%QEfP-{pg6(~VfFi=P|qTUNFwQ9t4apIyK)ue-+mmw^hnWbkB(=CKEFyD59KtN zp?`T8gaS z@jzVP{|eQ2y&U|I&$i~;3NOR?;&KN*B+Ut-qxf0GsJClia-+yYbu4`*{Yr0f!psma z_4=SkoLYfm$wsxeD7;B>Bi?S(yH6nM^m0WE^llD}O^!*FxLpknJx$@BNR2IEP))YLOi`h>*EP5iH+C6eoyf&UY$Yvb` zdLBG63Axy-VQyLtWrlPRYi%F)v4h9M4NIXy?rgh39~Q>?ga*$YZV=lI$);j&W>ae^ z5zDPR9#Ip%i+xwJR*K6(pUUhl1LN0ebUZz&>;5F#@@lte_n2Psflu*8>E+XoMat>K zY>M^N@ws?-41xpIaL5b^)mK`=jUI^&q<>}H`#Sfhu5ijw&8nmilXYn`u0~kIYcO~LRpZ*t! C7L5u3 diff --git a/examples/seneca/bug1116/index.html b/examples/seneca/bug1116/index.html deleted file mode 100644 index ea02565ee..000000000 --- a/examples/seneca/bug1116/index.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/examples/seneca/bug1116/test.pjs b/examples/seneca/bug1116/test.pjs deleted file mode 100644 index 40d0ca894..000000000 --- a/examples/seneca/bug1116/test.pjs +++ /dev/null @@ -1,14 +0,0 @@ -void setup(){ - size(300, 300, P3D); - noStroke(); -} - -void draw(){ - background(0); - lights(); - translate(width/2, height/2, 0); - for(int i = 0; i < 100; i++){ - sphere(30); - } - document.getElementById('fps').innerHTML = Math.floor(frameRate); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test1/test.html b/examples/seneca/bug277/test1/test.html deleted file mode 100644 index c11d7a659..000000000 --- a/examples/seneca/bug277/test1/test.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas with a width and height of 100 and attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the HTML
    - and Processing sketch are identical in this test case.
    -
    - If a sphere is rendered in the canvas, the test has passed.
    -

    - -

    - -

    - -
    -// Test from Processing.org
    -import processing.opengl.*;
    -
    -// next line tests the parser
    -// size(100, 100, P3D); 
    -
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(33,66,99);
    -  translate(width/2, height/2, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test1/test.pjs b/examples/seneca/bug277/test1/test.pjs deleted file mode 100644 index 8c8c353e0..000000000 --- a/examples/seneca/bug277/test1/test.pjs +++ /dev/null @@ -1,14 +0,0 @@ -import processing.opengl.*; - -// next line tests the parser -// size(100, 100, P3D); - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(33,66,99); - translate(width/2, height/2, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test2/test.html b/examples/seneca/bug277/test2/test.html deleted file mode 100644 index 7c53ec5cd..000000000 --- a/examples/seneca/bug277/test2/test.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas with a width of 123 and height of height of 456 and attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the HTML
    - and Processing sketch are not the same in this test case.
    -
    - If a sphere is rendered in the canvas, the test has passed.
    -

    - -

    - -

    - -
    -// Test from Processing.org
    -import processing.opengl.*;
    -
    -// next line tests the parser
    -// size(100, 100, P3D); 
    -
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(33,66,99);
    -  translate(width/2, height/2, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test2/test.pjs b/examples/seneca/bug277/test2/test.pjs deleted file mode 100644 index 8c8c353e0..000000000 --- a/examples/seneca/bug277/test2/test.pjs +++ /dev/null @@ -1,14 +0,0 @@ -import processing.opengl.*; - -// next line tests the parser -// size(100, 100, P3D); - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(33,66,99); - translate(width/2, height/2, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test3/test.html b/examples/seneca/bug277/test3/test.html deleted file mode 100644 index 89d8dbc12..000000000 --- a/examples/seneca/bug277/test3/test.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas with a width of 123 of height of 456 and attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the HTML
    - and Processing sketch are not the same in this test case.
    - Also, instead of using the datasrc attribute, this page calls Processing(canvas, source);
    -
    - If a sphere is rendered in the canvas, the test has passed.
    -

    - -

    - - -

    - -
    -// Test from Processing.org
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(33,66,99);
    -  translate(width/2, height/2, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test3/test.pjs b/examples/seneca/bug277/test3/test.pjs deleted file mode 100644 index c90ad89d0..000000000 --- a/examples/seneca/bug277/test3/test.pjs +++ /dev/null @@ -1,9 +0,0 @@ -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(33,66,99); - translate(width/2, height/2, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test4/test.html b/examples/seneca/bug277/test4/test.html deleted file mode 100644 index 0f2d8af7e..000000000 --- a/examples/seneca/bug277/test4/test.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas without a width and height and attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the HTML
    - and Processing sketch are not the same in this test case.
    - Also, instead of using the datasrc attribute, this page calls Processing(canvas, source);
    -
    - If a sphere is rendered in the canvas, the test has passed.
    -

    - -

    - - -

    - -
    -// Test from Processing.org
    -import processing.opengl.*;
    -
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(33,66,99);
    -  translate(width/2, height/2, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test4/test.pjs b/examples/seneca/bug277/test4/test.pjs deleted file mode 100644 index aebe3a6f0..000000000 --- a/examples/seneca/bug277/test4/test.pjs +++ /dev/null @@ -1,11 +0,0 @@ -import processing.opengl.*; - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(33,66,99); - translate(width/2, height/2, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test5/test.html b/examples/seneca/bug277/test5/test.html deleted file mode 100644 index 89ccf294b..000000000 --- a/examples/seneca/bug277/test5/test.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas without a width and height and attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the HTML
    - and Processing sketch are not identical in this test case.
    -
    - If a lit sphere is rendered in the canvas, the test has passed.
    -

    - -

    - -

    - -
    -// Test from Processing.org
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(0);
    -  noStroke();
    -  pointLight(51, 102, 126, 35, 40, 36);
    -  noStroke();
    -  translate(80, 50, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test5/test.pjs b/examples/seneca/bug277/test5/test.pjs deleted file mode 100644 index 3cc1e0bce..000000000 --- a/examples/seneca/bug277/test5/test.pjs +++ /dev/null @@ -1,12 +0,0 @@ -void setup() { - size( 100, 100, P3D); -} - -void draw() { - background(0); - noStroke(); - pointLight(51, 102, 126, 35, 40, 36); - noStroke(); - translate(80, 50, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug277/test6/test.html b/examples/seneca/bug277/test6/test.html deleted file mode 100644 index 55aed5502..000000000 --- a/examples/seneca/bug277/test6/test.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 277

    - -

    This page tests the fix for bug277 in Processing.js
    - This page creates a canvas without width and height attributes, but sets
    - a width and height of 200 using css. The page then attempts to
    - load a sketch which uses a call to size(100,100,P3D). That is, the dimensions in the CSS
    - and Processing sketch are not identical in this test case.
    -
    - If a lit sphere is rendered in the canvas, the test has passed.
    -

    - -

    - -

    - -
    -// Test from Processing.org
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(0);
    -  noStroke();
    -  pointLight(51, 102, 126, 35, 40, 36);
    -  noStroke();
    -  translate(80, 50, 0);
    -  sphere(30);
    -}
    - - - diff --git a/examples/seneca/bug277/test6/test.pjs b/examples/seneca/bug277/test6/test.pjs deleted file mode 100644 index 1732d0a7a..000000000 --- a/examples/seneca/bug277/test6/test.pjs +++ /dev/null @@ -1,14 +0,0 @@ -// import processing.opengl.*; - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(0); - noStroke(); - pointLight(51, 102, 126, 35, 40, 36); - noStroke(); - translate(80, 50, 0); - sphere(30); -} \ No newline at end of file diff --git a/examples/seneca/bug596/test1/p5_result.jpg b/examples/seneca/bug596/test1/p5_result.jpg deleted file mode 100644 index 70f9723fa25dcf97442ae6de498955ec1843a6ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5956 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 O|Km#hU$iJlBYy+yMMLKR diff --git a/examples/seneca/bug596/test1/test.html b/examples/seneca/bug596/test1/test.html deleted file mode 100644 index bb7e4dc7b..000000000 --- a/examples/seneca/bug596/test1/test.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 596

    - -

    This page tests the fix for bug 596 in Processing.js
    - This
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup(){
    -  size(100, 100, OPENGL);
    -  translate(width/2, height/2);
    -  box(20);
    -}
    - - - diff --git a/examples/seneca/bug596/test1/test.pjs b/examples/seneca/bug596/test1/test.pjs deleted file mode 100644 index f32f1c59c..000000000 --- a/examples/seneca/bug596/test1/test.pjs +++ /dev/null @@ -1,7 +0,0 @@ -import processing.opengl.*; - -void setup(){ - size(100, 100, OPENGL); - translate(width/2, height/2); - box(10); -} diff --git a/examples/seneca/bug596/test2/p5_result.jpg b/examples/seneca/bug596/test2/p5_result.jpg deleted file mode 100644 index 70f9723fa25dcf97442ae6de498955ec1843a6ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5956 zcmc&&2UJwelI}YRhMbW+${huLt!1-`jof?4Eslc6-j9{<^xls;jGS*R3WElg0sqiIK4pKoA7%fj>Z+ zWRx=2*LSk8+Gk{JW(Yd~VB~fQ4)#X@00II-iB`My2>TBlBv6b3G@t@_Kmk-;+(LqN zEiB9+%fBc;UH~WwfI(@ptbf7uugG*ns1N`|3No;GZDSoWcHPD{WPCI?Z4V zcMow3fH(~RlvY4M5R}jG4ARBif{Ab}!wSSgX^4V^=FusBFV2uLF;9BqLy#Jb?JDBj?8sTyh2Y1`=S z8QwF6GjFm+vd!!;;ke8>&CSZA!h4V}l90pSATT0G5*83K67>~J6TdI~To>I1JZwEvy*j-&e0Taq z`?myQgZ2eqIWiZbA9^8d{-{obYoz}%;_=86u~BDECPgQnNWg zH+!WmKksTpfo-8u5lhkc;^)^IN|LYJl?s+FmbKnUxp}BuvV5hYr!uF?yIP}$s%G?7 z#qFqC^EyJ^Vtv=0th;Uviucg>o;9Z3-`hml)Y%-#y$XG8@P_rxhqsMmspD=FDwDL6AE(-gWE@yPqd%jfA0U% zJ=gtpc%HPVw{+<{)sJf{hgOZ&JvK8)Bc;A2>)$kJHtaK+*u7|sGudG( zZlN~g`I(_)6V~f+6Gs%_T&BQ&(@4e?jcBqju$wLYhk$ey^IG?-kT5`W$yRWXewZ6>`nBR7+nWpP0|np=9cMeQ9!;^9|*jv^U?Cw^Za-601zB zg{w(5Be!a9C)T>vsnyfekKd`gd$z&xo?;`eark~kQ*^U+i*U>GgGa4b+5+2kI#@bp zJMVR+bi4E@_fqwaJ*OM)o(7pO&W_D51R0pbeOW5HhpI_V=$}xUi*XoN0U!hpAUWUojdk5b-rw&b#ZiQ z`8(&2UCT}@u|LaK2iBH1csI34x?BF|0*;^qQ9-IuTBvDsF2)V3g_EG*rsTkLQVCEC z(MZus(h1Qs(XTO#GFHLUK#ln)OFb)*O^)p=d-aY$4jGPl&RVW;?wvdc&tu+fJ{N*4 zVU7Q>z*Rw_kfAWI@RCTIXq=dq*s6G)M4+Uk>(w;IRGPAN}a=!BN^4}F26;CM{ zDN`#Csa#fdQ4>>}S8vdW-f6UpVb`eUHLXBxRUJgLKXS`gzb$s}INWSBKZT^J;X9E4;xuSZ6mxv?Ig}e-H z532~zIT{ynB+}`a@p1VR$cfIV*pr6Q=;+o{(Wli;FUC~Fdc_IEy@}5`W1T>s@Z@ar zIg>={#HUGV$yO=sDX-5LrXEaVPWvN0E<-mHWVU6+T`5h+qffqb&x2^cny}VfI6VUJi+hy!3?B;A#ef_ARUy0E-(guA}oj;Vutu43CMM%8<|B>p=3}ts1vAC zc*>yB%4lD733?hMgz>^uV3x2uvGLeG95>Dv*GNG_ahRfp5=-eoS%as`<%{zuAW|mK97NgA&C*g7|poBbc|`0`8YF)C7zXvHJy!% zt%O~Hy?uxEj!BMiPHN5~E)A|hZhsyOPady4Zx5d{-zwoEzY_nDK&T*#;2oiZLL0(Y zMD#>vMU%v2#QMa;Bse7QOFBvcsUm3u=^2?MSt;44a>wKi6nGSVD!x>zRnAd4uIi;` zsjjb~xl?hMil(-fiMBJ0a7B8L4N!*aMkjao8Z((#nx>fznRD!OwWze*wBBb^XuE80 zvcLGihJ)>)N=KZNlk;6ydN+Uf4o_9DHXl9TUVrO=(IB7T6=FO*&q|K&is(P)djcI* z5WVx%M9jH3h4}G=Tjx@fLQ0 zex2Z$QhcX3yZeLON7Co}a}Hl87EBkfFU@}!|6#K1x)S))d)0nTWu0OD?Z&mui(BUh z4G;vofDH%)37`<%2QR<^LW77SMu=0(KlHi#v(yqY$JBqj*FqKp9EdkC((J;HRkcs0yh8wF`ASjVMhb%{=XX z+73E3x*B>h`fCh=426vRjMtdNn5vjnm|I!QSVmdBS%0!6v-7jxgTDX7agI}r^C6cX zHy!sa9xI*&-ZVaWz9B*+KOcXOK(HVuj9^4~M)it>iwcPjh((D@h>uDnNGeK>OC?LI zOTUxJmerM=m#dUNt>CDrrNpOtbrQ44l5I7jj->j|t?%1!b_RA!_I!O<_J`XOo~HxPk_L1Jm!DsMX+J_UdhfOKTkKfn#J
    L+1npXK8}43{<8M<>;l_j$v3(04a>V%UaY#WZET$1@;?tS0KV|uZvbNmC8B^h zB1uRSGKUgEIim7WlV~Y)H2O703v(UIgguR2f^Yd0g%ibFN@vOmycd3sDv}yaok~NX zsixJZouJF0H>BTWXkZLwQe^tZe3#`Ut3Deo+c10Cj$<5VoWh(Wu2Wu!dT%Ikp;*A?jzL<&cburJ~_uP`f%F;U7=Aj+l-e7il0g7IaiZ(Ipuij{&cxaT-MX<3psYV6qg&XcwMC{xLssb{I%q4DQ{Wb%>xyz zm2a!dZiUur)`L3_8&VrBnwXl0A7r)JckJjK?auG@cqI16wU#M4_4Vf)*bSu( z_l?Yrj*X>Ffz5rJ$2LngpKY#@L`hbpC{h_|i0uFEe2E-C0F{1_e-M#irVkUG|J4%U z9|m)%t-=KVX#!o%_raQs-v@_UkaIyc_^gJ6TN}cf0j5I?o<2s#zc9hw#lRF|Zb+9q z=B;lIF%86Ko{|<=rJVFeA z^VA*lwz2;;wwoAcWec$ogo2=Ca#r`}~Jd(!g^|Uij7+KQIHw z1UUJ`5TUGXxetLGq`APe`xiy7T<(M1`tR13M*l6XzekwD)<05y&yYO3?H(WC4)Jfg z+iyBqbHHuS@SLDX4Lfg)2u1;;jM2kr!m~jg5HM^QP9Tj@!l+?%G1{1&uuuKz=ewW( zoXhswxc+IQDb(fx!nRf<@K5T0(h7Xw9mZDf4p$lA;NHmdBBQptE^_q`CDbDV=Jf#R z2L(qGeZ0Iw3A*s+!b6H+9Oxz^MNp8Fmjk2;FliX!;|ajty+8soQvy7KgZCoP$>e+* zVfuv;h&cgviw?jsgzHZngNXedzx-Af4)+vDL=?6#+zX%x*|~*r5Z_7g0q}cl>xQ5S z*5tAWK2XDUz1PK!u+N&XpCB(Mqb#FF5K}i(ly?ya&l;t(x{B;A} zgNSgm6`=l<>0W^T3zLPDUO~^p`=NiUkcIqP0?30&t$>jdZYOs%!U#}|2$~Tgbpk$U zJ9b+(dAj6+pwJjBj)D?TMGYD182}1Fqfr<%7K?#PheW}CfMLWk@yqMtm@Qo>1dgyM zoK7#K6x6%b#%k3+FQn*7jKNc}vG3sE6c!N`6PHj@R#8<`*U&dGG}^t#*u>h#*3KSY z*tofSczSvJ_=bdrg&&QGJQf=le31`;?>~H8SX}z{{m1gk&sDNr2>h!4UH++E za1js`27|^>knKWHN6CgWVzB)3I3`_73YR0y0t%-oS@hBiZ?)kC6|Lr3U5WivY(h#C z!V6^6wk-Sa85Z+Dvg}X8{<3Qn(4gU~!H8xA+F&zB3>2VFQGx%5ik^AlXi|%cA0L+% z*U3J<+MbS}_n4AqEW--l`0g*% zleG3-xz%U2y`6AcDaG2cO3ggqqGUUlU%nNsZLS@ttMo?aY!nhmASUDFlW5SQcCtTT zVnxd@_*V-KoA{BnB+JD7X0abos?CJFTZ(=DQ%sy#cuy6|_l O|Km#hU$iJlBYy+yMMLKR diff --git a/examples/seneca/bug596/test2/test.html b/examples/seneca/bug596/test2/test.html deleted file mode 100644 index a4236bf31..000000000 --- a/examples/seneca/bug596/test2/test.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 596

    - -

    This page tests the fix for bug 596 in Processing.js
    - This
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup(){
    -  size(100, 100, OPENGL);
    -  translate(width/2, height/2, 0);
    -  box(20);
    -}
    - - - diff --git a/examples/seneca/bug596/test2/test.pjs b/examples/seneca/bug596/test2/test.pjs deleted file mode 100644 index 15256411c..000000000 --- a/examples/seneca/bug596/test2/test.pjs +++ /dev/null @@ -1,7 +0,0 @@ -import processing.opengl.*; - -void setup(){ - size(100, 100, OPENGL); - translate(width/2, height/2, 0); - box(10); -} diff --git a/examples/seneca/bug597/test1/p5_result.jpg b/examples/seneca/bug597/test1/p5_result.jpg deleted file mode 100644 index 84015d6e9a3b07184c1f24d45663c5e3613d9e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4436 zcmbuC3pi9;`@q-UbHj|wj3Ia9ev25!UC4D@j%#iyF*6v<(6|-4OQBOL$)$)KC8eut zMUkV6luAen9Yr~%3lcT|JvyiQ{?Bv1|Nr^EwV%D#Z@=%m-u13`t-YVM`ThK1AmQdr zcLopy0axS#{1I@=X+1j<08dY#3jh!TLJ$d{5Q2~kKym=H$N+F5`R|+pY5!#dBQ{0= zsR16jH$l`zCL^2!SuHXa;nJOKfJR!xBdA1fK|w}ed|qr_=$_sbs)4D2830s6BST9= znx&x$#fWBUY;H-j0QOvFJP!c)DE!?I^C;>E3mo!C2|;uRhcItnFK4=k6EaBv2(BJ% zZagdj0Ee5z^L1H42?`FO;JT5>gaH;90T9keOz`w`_7`}dJ2_Ai5hDTrC^L^1;{*@% zUA-xkAM*bf5g7@*BxIuAh_x}3mB>Ii6XCejqy&L{3Sn|Ytbk!bhR8f5K!jxk9QBQt zF4}x!I{`B}Tqa^8h&h4DVG8& zS*dZXq$GXsa7Ju6k4bTe=Ol!4HvsT$&VpWmB*-lVNwTStg{i4N)c{HV_wsL*->v>V z2-fzS#Rs3oHG`zPe#n0G{UM950Kj}2$xYr5Sws;44LbmkdHh4BeiQ)lOaSWd{xlzH z!G4KON=mR?wk$O@)qu@n7zh&jz5JgB-!1;<32MPyxs;V{@aB<>oTkN$hwoh0Xn^75)#q z{S<=$zwK)TBrCrHa+m>-xJw48Kf3^05)V+JrHBUlzHT1E0YLEP1uDP%w(k)}^o#Ys zRPbKp5l&=BQ3PTKUw;ZCnU^A9>7Uces& zgEfEwq5%i+Kq|-pTR|4c1$p2gCg7csOTn5*`@8CAL2YSIE7zShDHJAc3 zU>^A>;~-H;5|V|KAq_|mqC)1-a>xntfPA4~Xe|^4aiL@=1KJMdLi?d&s2r+>&OuGk zHRvYP0}VhU&;;}z`V6CB0!)S#VNG}$Y!2JQ?yx_+8jgb3!D(*xpQ5%d)LD@GKffYHNPV(6G4OcW*+lZ7e3 zRAK5c9hhFs7-j~G#Y$tfux40SY%n$kn~vR$J%T-hy^8I@KF3bua5!0<9?k~mg$u_e z;j(Z=xKp@R+FMTjC=A~quaA~7OcMG8e~MLI;Dh`CtM{A5I%^CifW45iH3+KiS7}t7Ht=OD*8!GQp`Y%F2)qw zELI{`FLqz-jkvJ5hPb`>8u2vo0`Uvtcf}_qge5d393;XeHc6C7G)eSHOcN!EMno?n zhq#+~l6aFiPQsBiNlqjtDU)=J)J}RXiIP;4bdY37ZkMc-?2sHIW64@%Iyr`%OFm8R zCQnI`q)em&q}EH7NL`T{mPScyO4Fs|r1wgnmwqJud5Pi@`z5R;*-L7d++Q*)BQIko z!;;C7IV006^I4W6>m(a1yHB=3c1R8_rz__pmnv5(*C974PnNfmXUONspO=5E04wM! z_$s6;98>60m{wF$bWu!DEK+P&oK%ulvQvst%2#SpnoyQhUarhm&R1?#enpX@*i+&t zg_P@*DHR13SCwRya+PkCc~vddm8#oR&!`TmiKv;YMXKeiwW&?1E312|XQc7^ss9juPIPOQ!moqM{l zE=@ODw?y}@9;|1o$JRTd*RvF})M6=jX~oh$eS*Hdeu{pL{)mCJfrr61g9d{)%hZ>J zEZeuNbJHr{O9X#CDZ&xB=CYSK@W zqd~lw!(JQPR)*KS7rCoUdKMh z{*?Wj6^1K#E9zFvI#@bvbhzq>a&&RbaqM;?IjwXmc6#cp>Kx@<<2>a;b4ho(>WXo7 zcirdOM^~gX=+*QoH#4`5Zr9xj?tbpY?xP;M9z2g`PuSDV^ML1*Uo?K<{?gzDyy#vB zyoS8Byw`bO^1=Fe`;_>+@HO(y@a^=I^b7Ml={MuQ!hf&-;7aY4$t&9e!~;SDssm;N z9Rv3V4hJm@+8A^@ST2|y+!%rj2?(hQnO^0z>foxeP+DkK=%dwItJkl-xkheH+?p$4 z;$h)o7uI6d2ChB1b|Ks=ydr!$f*x@=Vv6CwIK+6(v}5KoCs;PD{j8UfHj(=y$D?eb z4n$2v+eQ~ePqH1@#q4)6t}$gXv$0;W$7A_%fpKRzLY%dnCN7B^%e@}26u&;cCqXYE zD`9w@<+_9Grg-kWszfMpbz)-@897XKC2J?|NFGU9o>G$XDK#MV!g}I*?)t6`x*M`L zyi9XW`z;-v&PZ>|P|4VuF|yHqWBDd%Q^cmW&1#!7H;-*`*>Ym5$ky1cceWXB+rRDO z_Q37UnTnZPGN12o*-?`vmc`5J+iA74Y!`YLdslb1aduJm*BoZftz5(0g4~7OjNP|> zHTt#iSN@*JJ>7dv_m<{i^SF7B_Sx<`v7fjerT^kv@}q7Mx8!`|8}K;Rl65)tQ2mDbsfOr=;l|*` zo+h`Zwq~p5x=RL^j$c-}TyjO~%H9@{mdqA@Yg+5{)r6~)*P^aHZwqT1Y!7OGc-`lE zcZYk&jo+PrZ|}74Y`tM~#Dm$yHnR~+FgIw>~7;di+jyI z);%rvZSP-u;P~M8hxCWHdw=Qed9?CTe_v?da6hwud?0S%-Q$$U^MhNSV4ma*NemS{ zRd`zQOy}8|VbkF&BaS0oqkf}<&l%5O|B?8|!dT`D(H8|Tm0wnmQ^zk)I8WSrwd&Q_ z>x9?ylUaWf|2+Ig`_09-c5l0;f~Lma@!s*@@BSeB;rK_Bk8RW5(@$qOGxM`KpJYFs zm@}X2{2ciC<$US_ZlUmt&X?w|?q8qqIeb2U5I6|_nf|LHaPnU{5On5W1wFNgoM#J5kzMzf&A;B(P$WrBmS+!U~xnkEu?}HCK>sJ z%h<0gm(no}T)(eLT2_^6u_8FSps4!XwVwWgDZ~N!U;Hk*5J-tXkM>Ra7!Xhp5*3OF zY{BQVbuINXbneiz*tGt?1{O5fS2GhsL(fFGGw!YD42FNw{EgP#wY?K^S*`=k**=MW zVj&^7x=1F++eh4dm(KZVp19cKr&Y}@awYvyr{bp*lTcdK_;JwI^Zk?4nC&*Kz(jSP~&*k^=K}xGe1NG&=VAOcg;Iq*K{lA9)Hj8q~nC639kH4nA zSXFuP?daox)^yImrMD+1uk0e=Kep#>V$t|u{&dr!&Dl|*xWJF47S=b&uPt<5ZL=$i zIovLtUp-5zi{2SxA{J1rS*V_C?%%(=F0U+>1Ldh(8!eEeY>z}{oRX(eS))GMNf)F$ z#BN76Hbu3kKV-!lYi!_y0{JhSt9lnqnsQsd%vUZHdj`M31um4%#P(*d){1lMKX^YS zX2PmcMK9%D{A*5Y`m?UQztf~!aQ3TRkJoWN(2Ku#i5~emeDX@}oQ!_WIQfG@<@+k$ z5x==@)m<0)!0)r_=?u5cIvvbt^#>+y4{;$TaD&&>T%?L$l*mSvkwQaPUvy{5c2*Vp z(W)%RQHzYr#v>Um45OV@T?UcH@7+h+`{oC@Rc}H}(^JD_TBC-blg@#O)VYnf@e_Pt zwz1f{qw^WHtkqe%l@DT@qWRz)?`&W5Yyd4bz{KIe&GDUnA5BBbo6AaKS@tJrwVa+* zrGOi^E_0T|%#IBH;&H z-%Qh5?!@(NzpyZA)}H(BY(&S7Q-WXJ#e!aSXZF=Vcvxn0+NxM_zo4`f&w*)LZuL?; z;q<}Q)@jas>P&DPfaO|GpTU;J(M`_La%=E)Pw$Gm4^~HZ=SKQ<75;C}$goRN6| diff --git a/examples/seneca/bug597/test1/test.html b/examples/seneca/bug597/test1/test.html deleted file mode 100644 index 18615db4f..000000000 --- a/examples/seneca/bug597/test1/test.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 597

    - -

    This page tests the fix for bug 597 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() {
    -  size( 100, 100, OPENGL );
    -  translate( width/2, height/2, 0 );
    -  box( 20 );
    -}
    -
    -void draw(){}
    - - - diff --git a/examples/seneca/bug597/test1/test.pjs b/examples/seneca/bug597/test1/test.pjs deleted file mode 100644 index 34bf89488..000000000 --- a/examples/seneca/bug597/test1/test.pjs +++ /dev/null @@ -1,9 +0,0 @@ -import processing.opengl.*; - -void setup() { - size( 100, 100, OPENGL ); - translate( width/2, height/2, 0 ); - box( 20 ); -} - -void draw(){} \ No newline at end of file diff --git a/examples/seneca/bug597/test2/p5_result.jpg b/examples/seneca/bug597/test2/p5_result.jpg deleted file mode 100644 index 84015d6e9a3b07184c1f24d45663c5e3613d9e22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4436 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 diff --git a/examples/seneca/bug597/test2/test.html b/examples/seneca/bug597/test2/test.html deleted file mode 100644 index 57049de95..000000000 --- a/examples/seneca/bug597/test2/test.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 597

    - -

    This page tests the fix for bug 597 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() {
    -  size( 100, 100, OPENGL );
    -  translate( width/2, height/2, 0 );
    -  box( 20 );
    -}
    - - - diff --git a/examples/seneca/bug597/test2/test.pjs b/examples/seneca/bug597/test2/test.pjs deleted file mode 100644 index 8444e368f..000000000 --- a/examples/seneca/bug597/test2/test.pjs +++ /dev/null @@ -1,7 +0,0 @@ -import processing.opengl.*; - -void setup() { - size( 100, 100, OPENGL ); - translate( width/2, height/2, 0 ); - box( 20 ); -} \ No newline at end of file diff --git a/examples/seneca/bug597/test3/p5_result.jpg b/examples/seneca/bug597/test3/p5_result.jpg deleted file mode 100644 index abf339ef850a37b7005fc1fcd1c834c38122588d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4784 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 BEFS;> diff --git a/examples/seneca/bug597/test3/test.html b/examples/seneca/bug597/test3/test.html deleted file mode 100644 index e15d38805..000000000 --- a/examples/seneca/bug597/test3/test.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 597

    - -

    This page tests the fix for bug 597 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() {
    -  size( 100, 100, OPENGL );
    -  translate( width/2, height/2, 0 );
    -  box( 20, 20, 20 );
    -}
    -
    -void draw(){
    -  background( 0 );
    -  fill( 200, 0, 0 );
    -  translate( width/2, height/2, 0 );
    -  box( 40, 20, 5 );
    -}
    - - - diff --git a/examples/seneca/bug597/test3/test.pjs b/examples/seneca/bug597/test3/test.pjs deleted file mode 100644 index 89f09850f..000000000 --- a/examples/seneca/bug597/test3/test.pjs +++ /dev/null @@ -1,14 +0,0 @@ -import processing.opengl.*; - -void setup() { - size( 100, 100, OPENGL ); - translate( width/2, height/2, 0 ); - box( 20, 20, 20 ); -} - -void draw(){ - background( 0 ); - fill( 200, 0, 0 ); - translate( width/2, height/2, 0 ); - box( 40, 20, 5 ); -} \ No newline at end of file diff --git a/examples/seneca/bug597/test4/p5_result.jpg b/examples/seneca/bug597/test4/p5_result.jpg deleted file mode 100644 index 6184d85ea1efbef68f32ca3570173515d9f79a16..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7284 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 diff --git a/examples/seneca/bug597/test4/test.html b/examples/seneca/bug597/test4/test.html deleted file mode 100644 index 774d8a95f..000000000 --- a/examples/seneca/bug597/test4/test.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 597

    - -

    This page tests the fix for bug 597 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() {
    -  size( 100, 100, OPENGL );
    -  translate( width/2, height/2, 0 );
    -  box( 20, 20, 20 );
    -}
    -
    -void draw(){
    -  background( 0 );
    -  fill( 200, 0, 0 );
    -  translate( width/2, height/2, 0 );
    -  box( 40, 20, 5 );
    -}
    - - - diff --git a/examples/seneca/bug597/test4/test.pjs b/examples/seneca/bug597/test4/test.pjs deleted file mode 100644 index bb0e1461d..000000000 --- a/examples/seneca/bug597/test4/test.pjs +++ /dev/null @@ -1,13 +0,0 @@ -import processing.opengl.*; - -void setup() { - size( 100, 100, OPENGL ); - translate( width/2, height/2, 0 ); - box( 20, 20, 20 ); -} - -void draw(){ - fill( 200, 0, 0 ); - translate( width/2, height/2, 0 ); - box( 40, 20, 5 ); -} \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.html b/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.html deleted file mode 100644 index a81cf3825..000000000 --- a/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -
    -beginShape(LINES);
    -stroke(255,0,0);vertex(20, 20);
    -stroke(0,0,255);vertex(40, 20);
    -stroke(0,255,0);vertex(40, 40);
    -stroke(255,0,0);vertex(60, 40);
    -stroke(0,0,255);vertex(60, 60);
    -stroke(255,0,255);vertex(20, 60);
    -endShape();
    -
    -beginShape(LINES);
    -stroke(255,0,255);vertex(120, 20);
    -stroke(255,0,0);vertex(140, 20);
    -stroke(0,0,255);vertex(140, 40);
    -stroke(0,255,0);vertex(160, 40);
    -stroke(255,0,0);vertex(160, 60);
    -endShape();
    -
    -beginShape(LINES);
    -stroke(0,255,0);vertex(220, 20);
    -stroke(0,255,255);vertex(240, 20);
    -stroke(255,0,0);vertex(240, 40);
    -stroke(0,0,255);vertex(260, 40);
    -endShape();
    -
    -beginShape(LINES);
    -stroke(0,0,255);vertex(320, 20);
    -stroke(0,0,255);vertex(340, 20);
    -stroke(255,0,255);vertex(340, 40);
    -endShape();
    -
    -beginShape(LINES);
    -stroke(0,0,255);vertex(420, 20);
    -stroke(0,255,0);vertex(440, 20);
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.pjs b/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.pjs deleted file mode 100644 index 2e7fd9f81..000000000 --- a/examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.pjs +++ /dev/null @@ -1,37 +0,0 @@ -size(500, 100, P3D); -background(200); - -beginShape(LINES); -stroke(255,0,0);vertex(20, 20); -stroke(0,0,255);vertex(40, 20); -stroke(0,255,0);vertex(40, 40); -stroke(255,0,0);vertex(60, 40); -stroke(0,0,255);vertex(60, 60); -stroke(255,0,255);vertex(20, 60); -endShape(); - -beginShape(LINES); -stroke(255,0,255);vertex(120, 20); -stroke(255,0,0);vertex(140, 20); -stroke(0,0,255);vertex(140, 40); -stroke(0,255,0);vertex(160, 40); -stroke(255,0,0);vertex(160, 60); -endShape(); - -beginShape(LINES); -stroke(0,255,0);vertex(220, 20); -stroke(0,255,255);vertex(240, 20); -stroke(255,0,0);vertex(240, 40); -stroke(0,0,255);vertex(260, 40); -endShape(); - -beginShape(LINES); -stroke(0,0,255);vertex(320, 20); -stroke(0,0,255);vertex(340, 20); -stroke(255,0,255);vertex(340, 40); -endShape(); - -beginShape(LINES); -stroke(0,0,255);vertex(420, 20); -stroke(0,255,0);vertex(440, 20); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-lines/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-lines/p5_result.jpg deleted file mode 100644 index 2b25a4b685bfe769e19e34f4d5159635b2f5477b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7560 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 diff --git a/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.html b/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.html deleted file mode 100644 index 480f8ebdc..000000000 --- a/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(300, 100, P3D);
    -background(0);
    -
    -strokeWeight(3);
    -
    -beginShape();
    -stroke(0,255,0);fill(255,0,0);vertex(30, 20);
    -stroke(0,0,255);fill(0,255,0);vertex(85, 20);
    -stroke(255,0,0);fill(0,0,255);vertex(85, 75);
    -stroke(255,255,255);fill(0,128,128);vertex(30, 75);
    -endShape();
    -
    -beginShape();
    -stroke(0,255,0);fill(0,128,128);vertex(130, 20);
    -stroke(255,255,255);fill(128,0,128);vertex(185, 20);
    -stroke(0,128,128);fill(128,128,0);vertex(185, 75);
    -endShape();
    -
    -beginShape();
    -stroke(0,0,255);fill(0);vertex(230, 20);
    -stroke(255,0,0);fill(255);vertex(285, 20);
    -endShape();
    -
    -beginShape();
    -fill(255,0,0);vertex(330, 20);
    -endShape();
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs b/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs deleted file mode 100644 index 2aafdb866..000000000 --- a/examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs +++ /dev/null @@ -1,26 +0,0 @@ -size(300, 100, P3D); -background(0); - -strokeWeight(3); - -beginShape(); -stroke(0,255,0);fill(255,0,0);vertex(30, 20); -stroke(0,0,255);fill(0,255,0);vertex(85, 20); -stroke(255,0,0);fill(0,0,255);vertex(85, 75); -stroke(255,255,255);fill(0,128,128);vertex(30, 75); -endShape(); - -beginShape(); -stroke(0,255,0);fill(0,128,128);vertex(130, 20); -stroke(255,255,255);fill(128,0,128);vertex(185, 20); -stroke(0,128,128);fill(128,128,0);vertex(185, 75); -endShape(); - -beginShape(); -stroke(0,0,255);fill(0);vertex(230, 20); -stroke(255,0,0);fill(255);vertex(285, 20); -endShape(); - -beginShape(); -fill(255,0,0);vertex(330, 20); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-noclose/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-noclose/p5_result.jpg deleted file mode 100644 index a25ec8df553fc500d59be75f5b1839c416c55e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8729 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 Q-Qz#G&HrIK8DZ#u0q$lkKmY&$ diff --git a/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.html b/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.html deleted file mode 100644 index fd13002c1..000000000 --- a/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(300, 100, P3D);
    -background(0);
    -
    -strokeWeight(3);
    -
    -beginShape();
    -stroke(0,255,0);fill(255,0,0);vertex(30, 20);
    -stroke(0,0,255);fill(0,255,0);vertex(85, 20);
    -stroke(255,0,0);fill(0,0,255);vertex(85, 75);
    -stroke(255,255,255);fill(0,128,128);vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(0,255,0);fill(0,128,128);vertex(130, 20);
    -stroke(255,255,255);fill(128,0,128);vertex(185, 20);
    -stroke(0,128,128);fill(128,128,0);vertex(185, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(0,0,255);fill(0);vertex(230, 20);
    -stroke(255,0,0);fill(255);vertex(285, 20);
    -endShape(CLOSE);
    -
    -beginShape();
    -fill(255,0,0);vertex(330, 20);
    -endShape(CLOSE);
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs b/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs deleted file mode 100644 index 753e6e90e..000000000 --- a/examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs +++ /dev/null @@ -1,26 +0,0 @@ -size(300, 100, P3D); -background(0); - -strokeWeight(3); - -beginShape(); -stroke(0,255,0);fill(255,0,0);vertex(30, 20); -stroke(0,0,255);fill(0,255,0);vertex(85, 20); -stroke(255,0,0);fill(0,0,255);vertex(85, 75); -stroke(255,255,255);fill(0,128,128);vertex(30, 75); -endShape(CLOSE); - -beginShape(); -stroke(0,255,0);fill(0,128,128);vertex(130, 20); -stroke(255,255,255);fill(128,0,128);vertex(185, 20); -stroke(0,128,128);fill(128,128,0);vertex(185, 75); -endShape(CLOSE); - -beginShape(); -stroke(0,0,255);fill(0);vertex(230, 20); -stroke(255,0,0);fill(255);vertex(285, 20); -endShape(CLOSE); - -beginShape(); -fill(255,0,0);vertex(330, 20); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-nomod/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-nomod/p5_result.jpg deleted file mode 100644 index 434da406368e082364e4519b2d8fdd7e483cb911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16546 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 - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(300, 100, P3D);
    -background(0);
    -strokeWeight(7);
    -
    -noFill();
    -beginShape();
    -stroke(255,0,0);vertex(30, 20);
    -stroke(128,0,128);vertex(85, 20);
    -stroke(128,128,0);vertex(85, 75);
    -stroke(0,0,128);vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(0,0,128);vertex(130, 20);
    -stroke(128,0,128);vertex(185, 20);
    -stroke(128,128,0);vertex(185, 75);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(128,128,0);vertex(230, 20);
    -stroke(0,128,128);vertex(285, 20);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(128,128,128);vertex(330, 20);
    -endShape(CLOSE);
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.pjs b/examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.pjs deleted file mode 100644 index 896707a51..000000000 --- a/examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.pjs +++ /dev/null @@ -1,26 +0,0 @@ -size(300, 100, P3D); -background(0); -strokeWeight(7); - -noFill(); -beginShape(); -stroke(255,0,0);vertex(30, 20); -stroke(128,0,128);vertex(85, 20); -stroke(128,128,0);vertex(85, 75); -stroke(0,0,128);vertex(30, 75); -endShape(CLOSE); - -beginShape(); -stroke(0,0,128);vertex(130, 20); -stroke(128,0,128);vertex(185, 20); -stroke(128,128,0);vertex(185, 75); -endShape(CLOSE); - -beginShape(); -stroke(128,128,0);vertex(230, 20); -stroke(0,128,128);vertex(285, 20); -endShape(CLOSE); - -beginShape(); -stroke(128,128,128);vertex(330, 20); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-nomodnofill/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-nomodnofill/p5_result.jpg deleted file mode 100644 index 259a61d6b4bedbc6e709045ddd00b3efdf6e5ea5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8331 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 KPdOSl@jn0tAv_EK diff --git a/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.html b/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.html deleted file mode 100644 index fe40824b2..000000000 --- a/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.html +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - -

    - -
    -size(500, 100, P3D);
    -background(200);
    -
    -beginShape(POINTS);
    -stroke(255,0,0);vertex(30, 20);
    -stroke(0,0,255);vertex(85, 20);
    -stroke(0,255,0);vertex(85, 75);
    -stroke(255,0,0);vertex(30, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -stroke(0,0,255);vertex(130, 20);
    -stroke(255,0,0);vertex(185, 20);
    -stroke(255,0,0);vertex(185, 75);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -stroke(0,0,0);vertex(230, 20);
    -stroke(255,0,0);vertex(285, 20);
    -endShape(CLOSE);
    -
    -beginShape(POINTS);
    -stroke(0,0,255);vertex(330, 20);
    -endShape(CLOSE);
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.pjs b/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.pjs deleted file mode 100644 index 66a7adf81..000000000 --- a/examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.pjs +++ /dev/null @@ -1,24 +0,0 @@ -size(500, 100, P3D); -background(200); - -beginShape(POINTS); -stroke(255,0,0);vertex(30, 20); -stroke(0,0,255);vertex(85, 20); -stroke(0,255,0);vertex(85, 75); -stroke(255,0,0);vertex(30, 75); -endShape(CLOSE); - -beginShape(POINTS); -stroke(0,0,255);vertex(130, 20); -stroke(255,0,0);vertex(185, 20); -stroke(255,0,0);vertex(185, 75); -endShape(CLOSE); - -beginShape(POINTS); -stroke(0,0,0);vertex(230, 20); -stroke(255,0,0);vertex(285, 20); -endShape(CLOSE); - -beginShape(POINTS); -stroke(0,0,255);vertex(330, 20); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.html b/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.html deleted file mode 100644 index 78fe31cf8..000000000 --- a/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    -

    P5 doesn't give the same result, is it broken?

    - -

    - - -

    - - -
    import processing.opengl.*;
    -
    -void setup(){
    -  size(500, 500, P3D);
    -
    -  beginShape(POINTS);
    -  for(int x = 0; x < 255; x++){
    -    for(int y = 0; y < 255; y++){
    -      stroke(x,y,255-x);
    -      vertex( x * 2, y * 2, 0);
    -    }
    -  }
    -  endShape(CLOSE);
    -}
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.pjs b/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.pjs deleted file mode 100644 index 7ddb760e7..000000000 --- a/examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.pjs +++ /dev/null @@ -1,15 +0,0 @@ - - -void setup(){ - size(500, 500, P3D); - strokeWeight(2); - - beginShape(POINTS); - for(int x = 0; x < 255; x++){ - for(int y = 0; y < 255; y++){ - stroke(x,y,255-x); - vertex( x * 2, y * 2); - } - } - endShape(CLOSE); -} \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-points_2/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-points_2/p5_result.jpg deleted file mode 100644 index b09d5ef3eaa0dfe7259e89eb436d837e2fbf1549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286681 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 Pc6E}S - - - - - - -

    beginShape() and endShape() test

    -

    The white triangles outside polygons is a known issue

    -

    - - -

    - -
    size(500, 100, P3D);
    -background(200);
    -
    -strokeWeight(3);
    -
    -beginShape();
    -stroke(255,0,0);vertex(20, 20);
    -stroke(0,0,255);vertex(40, 20);
    -stroke(0,255,0);vertex(40, 40);
    -stroke(0,0,255);vertex(60, 40);
    -stroke(128,0,255);vertex(60, 60);
    -stroke(128,0,64);vertex(20, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(255,0,0);vertex(120, 20);
    -stroke(128,0,64);vertex(140, 20);
    -stroke(128,0,255);vertex(140, 40);
    -vertex(160, 40);
    -stroke(128,64,0);stroke(0);vertex(160, 60);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(0,255,0);vertex(220, 20);
    -vertex(240, 20);
    -stroke(64,128,0);vertex(240, 40);
    -stroke(255,0,255);vertex(260, 40);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(0,255,64);vertex(320, 20);
    -stroke(64,64,0);vertex(340, 20);
    -stroke(0,255,0);vertex(340, 40);
    -endShape(CLOSE);
    -
    -beginShape();
    -stroke(128,64,255);vertex(420, 20);
    -stroke(0,64,128);vertex(440, 20);
    -endShape(CLOSE);
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs b/examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs deleted file mode 100644 index ca2b21f0a..000000000 --- a/examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs +++ /dev/null @@ -1,39 +0,0 @@ -size(500, 100, P3D); -background(200); - -strokeWeight(3); - -beginShape(); -stroke(255,0,0);vertex(20, 20); -stroke(0,0,255);vertex(40, 20); -stroke(0,255,0);vertex(40, 40); -stroke(0,0,255);vertex(60, 40); -stroke(128,0,255);vertex(60, 60); -stroke(128,0,64);vertex(20, 60); -endShape(CLOSE); - -beginShape(); -stroke(255,0,0);vertex(120, 20); -stroke(128,0,64);vertex(140, 20); -stroke(128,0,255);vertex(140, 40); -vertex(160, 40); -stroke(128,64,0);stroke(0);vertex(160, 60); -endShape(CLOSE); - -beginShape(); -stroke(0,255,0);vertex(220, 20); -vertex(240, 20); -stroke(64,128,0);vertex(240, 40); -stroke(255,0,255);vertex(260, 40); -endShape(CLOSE); - -beginShape(); -stroke(0,255,64);vertex(320, 20); -stroke(64,64,0);vertex(340, 20); -stroke(0,255,0);vertex(340, 40); -endShape(CLOSE); - -beginShape(); -stroke(128,64,255);vertex(420, 20); -stroke(0,64,128);vertex(440, 20); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-polygon/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-polygon/p5_result.jpg deleted file mode 100644 index 377299f0012e68e3fb99787b46312c67c28bf96c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9813 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 diff --git a/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.html b/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.html deleted file mode 100644 index 04428d140..000000000 --- a/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(500, 200, P3D);
    -background(200);
    -
    -beginShape(QUADS);
    -stroke(255,0,0);vertex(30, 20);
    -vertex(30, 75);
    -fill(0,255,0);vertex(50, 75);
    -vertex(50, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -stroke(0,0,255);vertex(65, 20);
    -vertex(65, 75);
    -fill(0,0,255);vertex(85, 75);
    -stroke(0,255,0);vertex(85, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(130, 20);
    -vertex(130, 75);
    -fill(0,0,255);vertex(150, 75);
    -fill(255,0,255);vertex(150, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -fill(255,0,255);vertex(190, 20);
    -vertex(165, 20);
    -fill(255,0,0);vertex(165, 75);
    -vertex(185, 75);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 20);
    -fill(0,0,255);vertex(230, 75);
    -vertex(250, 75);
    -fill(255,0,0);vertex(250, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 20);
    -fill(0,0,255);vertex(330, 75);
    -vertex(350, 75);
    -fill(0,0,255);vertex(365, 20);
    -endShape();
    -
    -stroke(255);
    -
    -
    -
    -beginShape(QUADS);
    -vertex(445, 45);
    -vertex(465, 75);
    -vertex(485, 75);
    -fill(255,0,255);vertex(485, 20);
    -endShape();
    -
    -beginShape(QUADS);
    -fill(255,0,0);vertex(30, 120);
    -vertex(30, 175);
    -vertex(50, 175);
    -fill(255,0,255);vertex(50, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -fill(255,128,64);vertex(130, 120);
    -vertex(130, 175);
    -vertex(150, 175);
    -fill(0,128,255);vertex(150, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(230, 120);
    -vertex(230, 175);
    -fill(0,128,255);vertex(250, 175);
    -vertex(250, 120);
    -endShape();
    -
    -beginShape(QUADS);
    -vertex(330, 120);
    -fill(255,0,255);vertex(330, 175);
    -vertex(350, 175);
    -vertex(430, 120);
    -endShape();
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.pjs b/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.pjs deleted file mode 100644 index 90e460277..000000000 --- a/examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.pjs +++ /dev/null @@ -1,83 +0,0 @@ -size(500, 200, P3D); -background(200); - -beginShape(QUADS); -stroke(255,0,0);vertex(30, 20); -vertex(30, 75); -fill(0,255,0);vertex(50, 75); -vertex(50, 20); -endShape(); - -beginShape(QUADS); -stroke(0,0,255);vertex(65, 20); -vertex(65, 75); -fill(0,0,255);vertex(85, 75); -stroke(0,255,0);vertex(85, 20); -endShape(); - -beginShape(QUADS); -vertex(130, 20); -vertex(130, 75); -fill(0,0,255);vertex(150, 75); -fill(255,0,255);vertex(150, 20); -endShape(); - -beginShape(QUADS); -fill(255,0,255);vertex(190, 20); -vertex(165, 20); -fill(255,0,0);vertex(165, 75); -vertex(185, 75); -endShape(); - -beginShape(QUADS); -vertex(230, 20); -fill(0,0,255);vertex(230, 75); -vertex(250, 75); -fill(255,0,0);vertex(250, 20); -endShape(); - -beginShape(QUADS); -vertex(330, 20); -fill(0,0,255);vertex(330, 75); -vertex(350, 75); -fill(0,0,255);vertex(365, 20); -endShape(); - -stroke(255); - - - -beginShape(QUADS); -vertex(445, 45); -vertex(465, 75); -vertex(485, 75); -fill(255,0,255);vertex(485, 20); -endShape(); - -beginShape(QUADS); -fill(255,0,0);vertex(30, 120); -vertex(30, 175); -vertex(50, 175); -fill(255,0,255);vertex(50, 120); -endShape(); - -beginShape(QUADS); -fill(255,128,64);vertex(130, 120); -vertex(130, 175); -vertex(150, 175); -fill(0,128,255);vertex(150, 120); -endShape(); - -beginShape(QUADS); -vertex(230, 120); -vertex(230, 175); -fill(0,128,255);vertex(250, 175); -vertex(250, 120); -endShape(); - -beginShape(QUADS); -vertex(330, 120); -fill(255,0,255);vertex(330, 175); -vertex(350, 175); -vertex(430, 120); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-quads/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-quads/p5_result.jpg deleted file mode 100644 index 41daa3a9333077b156d167a90549d90f6aacab3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45292 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 q;z@yck&xe62kFUp&Hm8Tk*o;Lgkd diff --git a/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html b/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html deleted file mode 100644 index 82f020a95..000000000 --- a/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -
    -beginShape(QUAD_STRIP); 
    -stroke(255,0,0);vertex(30, 20); 
    -fill(0,255,0);vertex(30, 75); 
    -vertex(50, 20);
    -fill(128,0,128);vertex(50, 75);
    -stroke(0,255,0);vertex(65, 20); 
    -vertex(65, 75); 
    -fill(0,255,255);vertex(85, 20);
    -vertex(85, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -fill(128,0,128);vertex(130, 20);
    -vertex(130, 75);
    -stroke(255,0,255);vertex(150, 20);
    -vertex(150, 75);
    -fill(0,0,255);vertex(165, 20);
    -vertex(165, 75);
    -stroke(255,0,255);vertex(185, 20);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 20);
    -fill(0,0,255);vertex(230, 75);
    -stroke(255,255,0);vertex(250, 20);
    -vertex(250, 75);
    -fill(0,128,0);vertex(265, 20);
    -vertex(285, 20);
    -stroke(255,255,0);vertex(285, 75);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 20); 
    -vertex(330, 75);
    -stroke(255,0,0);vertex(350, 20);
    -vertex(365, 20); 
    -stroke(0,0,255);vertex(365, 75); 
    -fill(0,128,128);vertex(385, 20);
    -vertex(385, 75); 
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(430, 20);
    -fill(255,128,0);vertex(450, 20);
    -vertex(450, 75);
    -stroke(255,128,0);vertex(465, 20); 
    -vertex(465, 75);
    -fill(255,0,255);vertex(485, 20);
    -stroke(255,128,128);vertex(485, 75);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(30, 120);
    -vertex(30, 175);
    -fill(0,128,128);stroke(0,128,128);vertex(50, 120);
    -vertex(50, 175);
    -fill(255,0,0);vertex(65, 120); 
    -stroke(0,255,128);vertex(65, 175);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(130, 120);
    -vertex(130, 175);
    -stroke(0,255,0);vertex(150, 120);
    -vertex(150, 175);
    -stroke(255,128,0);vertex(165, 120);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(230, 120);
    -fill(0,128,64);vertex(230, 175);
    -stroke(0,255,0);vertex(250, 120);
    -vertex(250, 175);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -vertex(330, 120);
    -stroke(0,255,125);vertex(330, 175);
    -vertex(350, 120);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -fill(64,128,64);vertex(430, 120);
    -endShape();
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs b/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs deleted file mode 100644 index 19f80861d..000000000 --- a/examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs +++ /dev/null @@ -1,87 +0,0 @@ -size(500, 200, P3D); -background(200); - -beginShape(QUAD_STRIP); -stroke(255,0,0);vertex(30, 20); -fill(0,255,0);vertex(30, 75); -vertex(50, 20); -fill(128,0,128);vertex(50, 75); -stroke(0,255,0);vertex(65, 20); -vertex(65, 75); -fill(0,255,255);vertex(85, 20); -vertex(85, 75); -endShape(); - -beginShape(QUAD_STRIP); -fill(128,0,128);vertex(130, 20); -vertex(130, 75); -stroke(255,0,255);vertex(150, 20); -vertex(150, 75); -fill(0,0,255);vertex(165, 20); -vertex(165, 75); -stroke(255,0,255);vertex(185, 20); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 20); -fill(0,0,255);vertex(230, 75); -stroke(255,255,0);vertex(250, 20); -vertex(250, 75); -fill(0,128,0);vertex(265, 20); -vertex(285, 20); -stroke(255,255,0);vertex(285, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 20); -vertex(330, 75); -stroke(255,0,0);vertex(350, 20); -vertex(365, 20); -stroke(0,0,255);vertex(365, 75); -fill(0,128,128);vertex(385, 20); -vertex(385, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(430, 20); -fill(255,128,0);vertex(450, 20); -vertex(450, 75); -stroke(255,128,0);vertex(465, 20); -vertex(465, 75); -fill(255,0,255);vertex(485, 20); -stroke(255,128,128);vertex(485, 75); -endShape(); - -beginShape(QUAD_STRIP); -vertex(30, 120); -vertex(30, 175); -fill(0,128,128);stroke(0,128,128);vertex(50, 120); -vertex(50, 175); -fill(255,0,0);vertex(65, 120); -stroke(0,255,128);vertex(65, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(130, 120); -vertex(130, 175); -stroke(0,255,0);vertex(150, 120); -vertex(150, 175); -stroke(255,128,0);vertex(165, 120); -endShape(); - -beginShape(QUAD_STRIP); -vertex(230, 120); -fill(0,128,64);vertex(230, 175); -stroke(0,255,0);vertex(250, 120); -vertex(250, 175); -endShape(); - -beginShape(QUAD_STRIP); -vertex(330, 120); -stroke(0,255,125);vertex(330, 175); -vertex(350, 120); -endShape(); - -beginShape(QUAD_STRIP); -fill(64,128,64);vertex(430, 120); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-quadstrip/p5_result.png b/examples/seneca/bug634/endShape-3dtest-quadstrip/p5_result.png deleted file mode 100644 index b5c06976a79e4426b8fe44dce2831a17bc455a88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11215 zcmeHMg;!Kvv>!^k8;JoylnxP)?(S}oE|DC%OX&usyHmP5r9)aeXGU^p-uU@XytUq& zb?2_R_w2LJZ|B*w&lgo?8Egy+3;+OtEhj6f4gerr!hesTA;RwoKB3(J0Is;LgoLV` zgalC4#mUOn!4d%QM5xjQX%Z&6|vR1PdDJ0bY86^ch@jTAVIiH;ryZV(LjdMi#w zzG$fzR!4Sa_?!BZ@t>ka+|`8J2+W@dxhPG;otLy|GxHgEnHIFN!FLgEo<}krh)xA`WoVJtP2oFhD{V zh&VR2jmO@~#gQbMC9(W^J+wR5QOsQk?Xly$<`8J`HI4eXxgEXrZLjI~+wH8a10q#Y zH{!3o#2C#{9e72NQL^cBFXSv0Kw}+g<_WyoKxS>`PE9jyp3SVv#TtZnN{s}K&_mxv z%Z0f`5D%Z7u9e%8=VJ1PqFK#)SO0!1$r9^u)ne7H;}1vNUxQmwU;(PvluMZ?hKe|$ zZQ3m{RFXcY*Yw_dp0FDhd?{b5$NGnRr1v3iID@F5gz3EZW~8|6p)X}JV+;j9;(-YX zDHVh%Tv<3F^JkYgKM2VgH3+r|3X%{LsZ_{|WOJ+pg>t;vs|1C(`stE*T_K7Ji(ec{ zC~pllA>$qPwO##DBaJG``fKiLJWgNGnTP??aX{k{+hy7b~Tfw z&TaJGwq;HCF8jo=56f)}cRtu*F$hX4KQDh0>YUUJHtIHS>!+R zotr!@OsRHLDBF5yR7Z{;U6`Dl;Z~}c?a;pV12HK-oIve1T0ZSK|66)nr}Vdd)~cxw zKYWng7A~)k+R5Uv2xBm!Ytq-=Q@#Jb(ryu3_q!>%X?DZu6WD>!!e@XDJ;&Yz@_E6z z=O_zvJFv8(?tAn7Xh;#YQFf9s5sg_e3gxEq5u zDf{#$?^XUxBBy$tx(q{{+`t#ggBWWOG0?}IUGcu}12S^p(V~)Bb#dj@lJXL;yn!6e z&(d*4;hof?Z!tf!e;!SC#>-4L3o)AnvZjl`YHQDY7sE#Anm_JD)iW3tMb3uRe>o5O z`gJUxY27aM_~=`c0(qlx+Cnvlv6sn`RzP0Rn$0r(hNP{(bK|YPK4zX)1NQ3mwf9NP z9GIF{OMruFC+n(t+i4Z_1yr@>HSJdyF>gOTJj1&baPetB5GK?pcGo+4?}*FwOeZ`a zK>vO~IGWPf`@!4dkKBpPneO&nuJz4<{*HJptXny{`_ymYvh7gm&SGtK`t2s@)7%aD zILxZywQD%s#1sMbH_*9NfJf%7rkjT|3sK^?+?g(@LElVzf{*%Go( z_c^$pfx@y>c9Ms*R`H~&$Ums1!^3k@BVyBxL&dO|hu@6T4^0epOmg+EpvfR9U7Juk zW?HZ@RM)hBYmpPg5RB?z^;LWLfEeE+(Thmylu7r==q69L?2X=prlG2@UcL;MoV<#i zQkzydJu~yYShe(qikP^Wa-H^DSv|em2>FQPFY8uzSa#;eQWP8C)W1dPgICTzSo!E) zD;{beC0z1g0Yf6f52DeAlMyee-0-~;jXnE4Vz55((U3sgvXFgr`)H1MB zd^U0eAv|N`QDI}4XS`$lLf@&(CTN+{mwA5ZCS5K?A+e(B?eRj`RcF6~drz-=`E)s8 zkA9D0Kd2-7p|D{e#Q`PhfC6)8il!x3e?a|*uAoOYvQ}Rm~MN9(r+h1K<8Zo&loH z2eq3LJOuLr8AdQLg4J^=YyjURre6`^;Y6B8Dtt~Bqg#j<8?oEPlE>PME01{M-W;u zya;dg!rY|z2Wg9REeVMcQcTLHK+UDZ4t+a_=}%E z#gkBwv{*>*H7#LYkXgm91z)xn%`%}7!AmzRavhQy*N;rJJaP=Tj$;e+m6v}MeN*jl zWFX#8lD*)*M9i7NNd|e#AA3nDRSP9-{6?wO1!X37nV+b;uL~QWy`Ao}V!t=9w6C<) zT)n^I#WE!Cc*uP)+fzN;Nn|7)p3N?bK2V{HO%Ns}V1wl6@s)}`#% zU|6na{6PCS_i@lV<&xR-r^ttA)i@@J$d(zA5f!0DU~-m>8qyi!L!;SqiR@ zNL55lgex&9zFX}x75-V|hXG7_Ds@uwAO~r-{A4x!Qk-{)j$eeM{G-$cD2K7;B4;IM z1#^k>V)Cf+l8O}az8CZ6vs(kOHn2K%RcDM zi(iqs!jED5`JsvnES_~L#NX!SEp@l>!ZBPzn)|hl1}Aq#r_A+2x{3jY{_SbakL<>j zMuF&VFo0j5Z;wxf63>~TwXw~~Gu_k5Gv@9Op6{0{e}|_7B>v#~5IqSl@r=I7__{6f z1UEIk8A?tm8L7BNYTig1A@bCbL^p7<`Ix+&UYpX;P)4{zjp0T|LIe3h<&-(QAj>4P zGt&-xPFZD5Y)hdZxnEIp_H?98n;Y?Fu#ICI^)EJm*YbwT_h+%Xu!s%j$3lc<9~0=( zlawbt$K|f`9bw2!N(s+YmWe6jr>=AFkZgzadM}veYey1Z5V&BlWc0R{{lr8iU`N0F zsrs_O&k}mvz_Wd~zn|gwj0qsbL+-u@n-b)QX##QIP_?130tfJ@BMAls3Msj$Z!wA@ z%EcP;RPxidnti_wCGBHZk%Eb`MAi}gu#ggIF{Aq5b5d|CbMA3{=W?q1(I8!0R_|xs z-Rqn=mmZa1@2kTKVu>TJ;bRYjG6Y13mYD{t0w$GpRV0lyMWeMSS-Y6dl+Fw03oq?6 z4(iQaUY+-2s1V7dSZS)3C$_`NsMJ-KY-TBE^=Hji3QF5e*i}WAbNgzS4ja!>-_~S6 zjBETx_rWA4m4z@L1Cv@WyW!yGhN;gjP{{*_?L=SGo|wh;2h;Fjb9QAXogA*d;F^R@ zSpa|J?Q|7hw`yK3>FxuXFVS!UDd(Wf`qne0lX5a6UeZ9KwFac>0^-q^kwXyzP zT;fbtw>D9YdFPq#)!`{cKq!6xyPEo`n~E`)p6CZ!3mKZ zMmB*=Sy8mwW48vo+68JZFAg>i!%k)N7UIEkV;HhbAJ4ppc}PGVJ&pa#mXd8;GyJA` z{dml-#lC`5rLAlfwg}w^#GexZ=9Dw50|Y}495qBQO&ze!S)!{RMyx!^`aOVYKqpKC zGVWf!k+fZ#=kIYim>bp3Wn8vq_|lqQpU6n>!@oZz*v4Rg{`^!WAR0R$(5H))N-jWT zCzn!E-6(&_bKA*_{FTVT5#{1fHa=w#{{H-kLAccx`EoZa42vu-W;itS#1iGQ+s zUMdITJ%!g9wfC1`ar|jeJ5`Yqssfd*2Q;E>+O$-o_VB%938y@y!3*LJ?KZp_+nSI= zM&Zx=npjV8gZt~jBnGt@WDEaOjs96y&lLc`B>ekD0DQ|N0{|$wuK%GUBM5Bac4JaR{5uT}^zRrPXl;SucWrH*;iHFLpzNx1C%w_Q9~$bJn>&h^N~BR8)VINo~zmQRK6VLu5>o&72Hz^m^f)a+S{! z$b&soUstg4O>@a3Ysxdo?95iLYxi>7UWK*v1q~l82xjaiW9`+|pt)&S4NBb?7%x{X zk?#)2xKipC*1ze-OvC!DvDUfO@iN>nt7YaOl#lb*ek7kuf$J21-Jh?ze2gS;zNBSC zHOVNAK11Vw>`niOFO-$dKpR-PXD>&DrpmHles!PaS+cL2OLny(v)4bmwJZY!mSz~O zm|9}M=5yK}Jik{uCEP8H(e4cKoYwYNCU0M@-$kBNbrK#)RcH>S!0DJ9DQ zR&T32=U!N;UaM^eYuy5|(Oqe9-FMCIJvsHpPmZ7LtDE+m+Idz|a;kpsKquWTLoOHd z8PF_%zad1o!sOLz>&1nqFYVjaW1OtZwd-O!hVGXt&X(x0cZ!Cn>Oxp*>lL_}ptx^+ z?rO8x)IaTJODrD|B|6YH6~@{tEs3kxDO)yP6>TnioY(hx0pk^WisaG{hC3Y#=*)bw zXJ9!EDdIG1KA9^%LJy3mjHKNlD_5A;g>|RnovST@NKuqeak|mqITKkNQw!GCJ&%#X zGd*yNf`owVRo_R63TElh42YjH_|NnN?n@FWve|X&-iFAiP`~8wbCFse<&^5sHnt-^ z?D$;+TW_-Nip*%`k((`F8w`1%Dlo_pog8+p;n3&tk^h4W4Ljc@1xS;gvEVfh_P*!N z1|nm^%tGq-oV1JVD6Tz=!`Z#B?UUsv!HMpj6_{>sO+nCdo2JMPOow9J3^ zv!M}5nEFJF+&DvTXc;XTqea|zQJ*`nkLj}^A8r-bQdBqxNH5%YYUQLu@Z3^C8C2ho!QRIPe6zJYp84g6YXKE3@(J9Dn zjqf5~fQRiOT;=b+j0kBjm$}q#tX?O_jwf7gs;0F2D`_5HB=qS4If4O?x0z=<8yA8N zwMMk^^6l+8E_O??#0Fk5KFldeYS**z*>-CpAH8=!2yTT6#MG^sbjf$QhgM_CUCFn| z4cJ<6i4@GSKlZjqL;UilP{jIiU35uhiuXy+`{M>uDvatpabe}8y20>n2i6Yw+= z@NmC!qKG-%Nr`GMP8-x@%$6Q54lqyEpVn^DL{n zAlXO;qCZd|UekYDXIp@T7x^llht~C3!?52&Y8Y)}ot?jNbBnSm;Iaogs1#Lq{IoY{ z()O?oja`tsPGU?*r4`fp_UTQ#T1`sUyDY4{sAf$F;F_GCmfdJ@jIHP5vR3j|d+Ei$=+neb4J%kYF z+_#>f=g~4F1k1Pr?sCW(wDXoV&Cgx4B7J8PN|np7;EBD5UY$oMyJ@4?i+Q?X5F!9 zzKF9aCE}4&QLJl6;;u!q-@Ew; z3fzOnM$m?Jj{orLwV&C9@_CkU>&x=+=@VV!G7olTT$dAzX!%|l9wWxRi;S-gqNd0} zZ}+5SqV38f)(|(B77>)B)tc@5kdnVRvbVg5Wy?A}zgB4Rx+IlbJ zBj$%U{_?#kDe_m~??OG6iO01P7OYitsQtGkKVL8`>bHXq%`E|B(qNOvN;&*Z8Z#tB zjx6!MbXz8k63CP0+{S+9VsWfC@-)%z9Y0jPj9||w0aOy-#|*Gfsc+u|=|@=ns`ekk z+UOkW=T1&idp#E@GVl2g5Pz`wRvJ=NVi}#DqItT`q4e%Y(gVBU7>oG-QYOuk+@;1|xTk|X zF`y>srB>vgKVVnh?{WnbM{Gwd~yEwDDK}k~I@4l#fz6+|q%m z$-QwZJy)5FT4!bgR5H8S{@-@dR_8$3#g?tE`cjY(c!HgwSIilJZ$A`mvzLe13-7LT zvC%AE|ApeeqwUk@0g9OOcFnIR{1x&uWZh)_R!8R3PpsuGLYK()i=ox1u~9szi@6!Y zNyuo%F9y`Y0aRYKy^#k&ANC6fD)d?jS62`paa3VUx9Bv{{i`Xvz15JtAmeu6W9+k`b4MB{1`(H^I0z8; zsjjD;mgdUP#L}~M{)ncTF<%HOQz6Pm%GE-BVQgY2TpL$Xhpye4#$V+}-sf?=uj;zV zW1pjV$X;n|WMr0drO@GjTg|JR%`94$#0)Q*M41pGO_BId0m#q zlJZDd5GJ_{8V#RnlC|!N zvU|cbz%CY^%Ejugshg&E-8xf`Q=9cN%SGG`g1@Lw9%y^pmpo%Fm8G45bJx7tahBpK zaC^%=Mw^(x6^rPR<)Nd}9f|?j6b6Hj;r6Q1P~cLOhCM-Ur1MenB56&Xm4_bPOB$K2 z#if%dGdz}9tC%e0TLeTNE#&ygKN^49txn0JgK<0(y!mg3pw!EK(*B7>CP0gr{ff?( z9Ckx|9SVkg$58cfnM3{FeqH0|D*p5>VZ7taeDh)0KA?augjHuvOFz8HHkESPi;M}6 z>g^-Eo}ilx-Q=K)Yvz5fUh6htMy=s1p$y3SylzKX!CAJi2%pTFM| z*9{kFp?XZ0+>VSBlh1^PC(u?Z^5n<8n*tl0_)z6+CL+lJ-*CIy?pRzNPOU#rfN(m6 z^|=dAPx+1QekrGAOX^#3oXj#FGKmz>q@Q8F<6=0IIQ)%=wo8xq0CrfCM}oTPmtZK2 z*qn#-whLPr54a+=s#`R6t6jJ_334h=Wk(K= zg2m5}A4oOUxoesj9YD{&Y&%uI)+d34mwdOj8%d);bCp*&NubUfk%)j|^#V4XHEvdZ zyiTb8TWK;ZW<)odE1KAbdYeMdy$!t+6sWOz$m0$;q;Pb1P&(~+E&?2qm8_`&ubbu$ zKZHW}jOpaa$d^u_kRBLY%C4PT1zL*$xGnDPK>5VSG7S9H<{kJGm_;GyGid)kV|)^= zOfoZM=3SfiAF)B+WGY*7`{xM7p3ktgPf-M1ydSEp$F)3M^xlDm5pcCH2#BNC#venJ zHh~LcYs zJleclx1Y{YYS6@T1Vxs>MgomGWI1y_6BKr$BA}Y<~juvi*Jd3jk_sv-ZNc4nEl?5mC@yqDtB?+tpLXX6IWI`(@*j#hPQ_m0QZ zhF6L5Uxlt%z44sfzpJ~#pwOC)*N&~uu7bzXuhOXN4h~HJB0(Yp-9MEdwGuI>!HRfq z)Ye9yCXJv+^8(+ml&$@_^>baUyXMNq<-32U9S9h$6ph`+rmy;IwRghST03hx@|%3z z_}`qOqZJ-zAEPvDF0AwQ!mBbPE!sWKJBX4Fu&7W zAd1FB9;53KC)FcUOO4>au0R%|Xo!$Y2Y!WV@N$ttNr4c`0|W;O`M@wXI#%xa;Rl?t z5uwBw^yE%ZnpTlzX^{4{qm4kf93V;>-;@@@5>2-EmJ%2JGSpz59UOMNb-~S~2`^~E z{wOAk_D~?QxFv+)FDkYoVqu2~s4YuWl~5`pq)CzjIqZ>j59u&pSvl@2x^|d3Kn|?? z);Id0eq#`2*TRji&!Fpa`V8gE+_7lAuo#kc9Ls zJ6-cYXCOy3AZj`8#{>r{x8Q51((7Q5(P4n!+sJKl3fv@7AQb}1_GDkA+mkr6oM?&3 zo7L)k&nt&^P2WU!7XCn6L`3o0X(@!$?>};M5#98R4Q1@Wr=TL(EURi*Tufa_obIb9v;BZ|AEOd3)-9=>6=^bzNexm1% zSgztfHCcLR7;MV-B7GT7L|S{m^ueJ0=PQu{tVf|1Moa>!l(hq!9NeS`ByEwIK5Uy) z5IMiGY7>*bM5KljwdfAye^M~;r8%aVO;o2)Dd5yzy~i4tgF93`2VDtLl_0hPj_#2M zS=N6B)_?td&brHe7kgoY%Zv*XD#F2i(bNmTdlUJeZ6(EU8uMQk?RX=|R-LYTx{qQ! z_m61)(}Q{|W{fYQ`eKNxkUoGK-e*_(&uI%DZDnZb4*l4RSImSek%QpWe*@wlb?*w2 z-&iaIDu;k5@UM@8vMCMMzo8r0o9XxpclO2!dM)~}=IFR}0X_VHa z4)9Z!bc%n=l_?<@lEDvkUIkGVQD}9a)trb=V9wyv!L$9TwY6&Z+e}h+eQ#$oITnn% z-vOGm9%)kg#rsc1Q?_%P1hqdM|{Mjh77FmXgM@3 z>Y11{FZ=((`CC-5paTnfXRA0ckVShu;DyJkHQ*E#e)J>z4A4g#qZ~y=R diff --git a/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html b/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html deleted file mode 100644 index 2cdb4c582..000000000 --- a/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(500, 200, P3D);
    -background(200);
    -strokeWeight(2);
    -
    -beginShape(TRIANGLE_FAN);
    -fill(255,0,0);vertex(60, 50);
    -fill(0,255,0);vertex(60, 15); 
    -fill(0,0,255);vertex(95, 50); 
    -fill(128,128,0);vertex(60, 85); 
    -fill(128,0,128);vertex(25, 50); 
    -fill(0,0,128);vertex(60, 15); 
    -endShape();
    -
    -stroke(0,255,0);
    -beginShape(TRIANGLE_FAN);
    -fill(0);vertex(160, 50);
    -fill(255);vertex(160, 15); 
    -fill(0);vertex(195, 50); 
    -fill(255);vertex(160, 85); 
    -fill(0);vertex(125, 50);
    -endShape();
    -
    -stroke(255,0,0);
    -beginShape(TRIANGLE_FAN);
    -fill(128,0,0);vertex(260, 50);
    -fill(128,0,128);vertex(260, 15); 
    -fill(0,0,128);vertex(295, 50); 
    -fill(0,128,128);vertex(260, 85); 
    -fill(128,128,128);vertex(260, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -stroke(0,128,128);fill(0,128,128);vertex(360, 50);
    -stroke(0,0,128);fill(0,0,128);vertex(360, 15); 
    -stroke(128,0,128);fill(128,0,128);vertex(395, 50); 
    -stroke(0,128,0);fill(0,128,0);vertex(325, 50); 
    -stroke(128,128,0);fill(128,128,0);vertex(360, 15); 
    -endShape();
    -
    -stroke(0,128,128);
    -beginShape(TRIANGLE_FAN);
    -fill(0);vertex(460, 50);
    -fill(255);vertex(460, 15); 
    -fill(0);vertex(460, 85); 
    -fill(255);vertex(425, 50); 
    -fill(0);vertex(460, 15); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -stroke(0,255,128);vertex(60, 150);
    -fill(0,128,255);vertex(95, 150); 
    -vertex(60, 185); 
    -stroke(255,0,128);vertex(25, 150); 
    -fill(128,0,255);vertex(60, 115); 
    -endShape();
    -
    -fill(255);
    -beginShape(TRIANGLE_FAN);
    -vertex(160, 115); 
    -vertex(195, 150); 
    -fill(255,0,255);vertex(160, 185); 
    -vertex(125, 150); 
    -vertex(160, 115); 
    -endShape();
    -
    -stroke(0);
    -beginShape(TRIANGLE_FAN);
    -vertex(260, 150);
    -vertex(260, 115); 
    -fill(0,255,0);vertex(295, 150); 
    -vertex(260, 185); 
    -endShape();
    -
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(360, 150);
    -fill(255,128,0);vertex(360, 115); 
    -vertex(395, 150); 
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -vertex(460, 150);
    -fill(0,0,255);vertex(460, 115); 
    -endShape();
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs b/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs deleted file mode 100644 index 5a9d27f0d..000000000 --- a/examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs +++ /dev/null @@ -1,84 +0,0 @@ -size(500, 200, P3D); -background(200); -strokeWeight(2); - -beginShape(TRIANGLE_FAN); -fill(255,0,0);vertex(60, 50); -fill(0,255,0);vertex(60, 15); -fill(0,0,255);vertex(95, 50); -fill(128,128,0);vertex(60, 85); -fill(128,0,128);vertex(25, 50); -fill(0,0,128);vertex(60, 15); -endShape(); - -stroke(0,255,0); -beginShape(TRIANGLE_FAN); -fill(0);vertex(160, 50); -fill(255);vertex(160, 15); -fill(0);vertex(195, 50); -fill(255);vertex(160, 85); -fill(0);vertex(125, 50); -endShape(); - -stroke(255,0,0); -beginShape(TRIANGLE_FAN); -fill(128,0,0);vertex(260, 50); -fill(128,0,128);vertex(260, 15); -fill(0,0,128);vertex(295, 50); -fill(0,128,128);vertex(260, 85); -fill(128,128,128);vertex(260, 15); -endShape(); - -beginShape(TRIANGLE_FAN); -stroke(0,128,128);fill(0,128,128);vertex(360, 50); -stroke(0,0,128);fill(0,0,128);vertex(360, 15); -stroke(128,0,128);fill(128,0,128);vertex(395, 50); -stroke(0,128,0);fill(0,128,0);vertex(325, 50); -stroke(128,128,0);fill(128,128,0);vertex(360, 15); -endShape(); - -stroke(0,128,128); -beginShape(TRIANGLE_FAN); -fill(0);vertex(460, 50); -fill(255);vertex(460, 15); -fill(0);vertex(460, 85); -fill(255);vertex(425, 50); -fill(0);vertex(460, 15); -endShape(); - -beginShape(TRIANGLE_FAN); -stroke(0,255,128);vertex(60, 150); -fill(0,128,255);vertex(95, 150); -vertex(60, 185); -stroke(255,0,128);vertex(25, 150); -fill(128,0,255);vertex(60, 115); -endShape(); - -fill(255); -beginShape(TRIANGLE_FAN); -vertex(160, 115); -vertex(195, 150); -fill(255,0,255);vertex(160, 185); -vertex(125, 150); -vertex(160, 115); -endShape(); - -stroke(0); -beginShape(TRIANGLE_FAN); -vertex(260, 150); -vertex(260, 115); -fill(0,255,0);vertex(295, 150); -vertex(260, 185); -endShape(); - - -beginShape(TRIANGLE_FAN); -vertex(360, 150); -fill(255,128,0);vertex(360, 115); -vertex(395, 150); -endShape(); - -beginShape(TRIANGLE_FAN); -vertex(460, 150); -fill(0,0,255);vertex(460, 115); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-trianglefan/p_result.jpg b/examples/seneca/bug634/endShape-3dtest-trianglefan/p_result.jpg deleted file mode 100644 index df36cce996031d1418827dab7da6020b2a8e204b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65356 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

    yWhyIrBK&3?yxJhcIh-=(7i3Lyh;|w3RkAKy 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 diff --git a/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.html b/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.html deleted file mode 100644 index 996f11dfe..000000000 --- a/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    size(500, 200, P3D);
    -background(200);
    -
    -beginShape(TRIANGLES);
    -stroke(255,0,0);fill(255,0,0);vertex(30, 75);
    -vertex(40, 20);
    -vertex(50, 75);
    -stroke(255,0,255);fill(255,0,255);vertex(60, 20);
    -vertex(70, 75);
    -stroke(0,255,255);fill(0,255,255);vertex(80, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -stroke(0,0,128);vertex(130, 75);
    -vertex(140, 20);
    -stroke(128,0,255);vertex(150, 75);
    -vertex(160, 20);
    -stroke(0);vertex(170, 75);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -fill(255);stroke(0);vertex(230, 75);
    -fill(0);stroke(255);vertex(240, 20);
    -fill(255);stroke(0);vertex(250, 75);
    -fill(0);stroke(255);vertex(270, 75);
    -fill(255);stroke(0);vertex(280, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -fill(128,0,128);vertex(330, 75);
    -fill(0,128,128);vertex(350, 75);
    -fill(0,128,0);vertex(360, 20);
    -fill(128,128,0);vertex(370, 75);
    -fill(128,0,128);vertex(380, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -fill(128,0,128);vertex(430, 75);
    -fill(0,128,0);vertex(440, 20);
    -fill(0,255,128);vertex(450, 75);
    -fill(128,0,255);vertex(460, 20);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -stroke(255,0,0);fill(0,255,255);vertex(30, 175);
    -stroke(255,0,255);fill(0,255,0);vertex(40, 120);
    -stroke(255,0,0);fill(255,255,0);vertex(50, 175);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(130, 175);
    -vertex(140, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -vertex(240, 120);
    -vertex(250, 175);
    -vertex(260, 120);
    -vertex(270, 175);
    -vertex(280, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -fill(255);vertex(330, 175);
    -vertex(340, 120);
    -fill(0);vertex(360, 120);
    -vertex(370, 175);
    -fill(255);vertex(380, 120);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -stroke(255,0,255);fill(0,255,255);vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -stroke(255,0,255);fill(0,255,255);vertex(460, 120);
    -vertex(480, 120);
    -endShape();
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs b/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs deleted file mode 100644 index c0f725809..000000000 --- a/examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs +++ /dev/null @@ -1,77 +0,0 @@ -size(500, 200, P3D); -background(200); - -beginShape(TRIANGLES); -stroke(255,0,0);fill(255,0,0);vertex(30, 75); -vertex(40, 20); -vertex(50, 75); -stroke(255,0,255);fill(255,0,255);vertex(60, 20); -vertex(70, 75); -stroke(0,255,255);fill(0,255,255);vertex(80, 20); -endShape(); - -beginShape(TRIANGLES); -stroke(0,0,128);vertex(130, 75); -vertex(140, 20); -stroke(128,0,255);vertex(150, 75); -vertex(160, 20); -stroke(0);vertex(170, 75); -endShape(); - -beginShape(TRIANGLES); -fill(255);stroke(0);vertex(230, 75); -fill(0);stroke(255);vertex(240, 20); -fill(255);stroke(0);vertex(250, 75); -fill(0);stroke(255);vertex(270, 75); -fill(255);stroke(0);vertex(280, 20); -endShape(); - -beginShape(TRIANGLES); -fill(128,0,128);vertex(330, 75); -fill(0,128,128);vertex(350, 75); -fill(0,128,0);vertex(360, 20); -fill(128,128,0);vertex(370, 75); -fill(128,0,128);vertex(380, 20); -endShape(); - -beginShape(TRIANGLES); -fill(128,0,128);vertex(430, 75); -fill(0,128,0);vertex(440, 20); -fill(0,255,128);vertex(450, 75); -fill(128,0,255);vertex(460, 20); -endShape(); - -beginShape(TRIANGLES); -stroke(255,0,0);fill(0,255,255);vertex(30, 175); -stroke(255,0,255);fill(0,255,0);vertex(40, 120); -stroke(255,0,0);fill(255,255,0);vertex(50, 175); -endShape(); - -beginShape(TRIANGLES); -vertex(130, 175); -vertex(140, 120); -endShape(); - -beginShape(TRIANGLES); -vertex(240, 120); -vertex(250, 175); -vertex(260, 120); -vertex(270, 175); -vertex(280, 120); -endShape(); - -beginShape(TRIANGLES); -fill(255);vertex(330, 175); -vertex(340, 120); -fill(0);vertex(360, 120); -vertex(370, 175); -fill(255);vertex(380, 120); -endShape(); - -beginShape(TRIANGLES); -stroke(255,0,255);fill(0,255,255);vertex(430, 175); -vertex(440, 120); -vertex(450, 175); -stroke(255,0,255);fill(0,255,255);vertex(460, 120); -vertex(480, 120); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-triangles/p5_result.png b/examples/seneca/bug634/endShape-3dtest-triangles/p5_result.png deleted file mode 100644 index 4330e7f02d1cd4dc01b8848588368066de1b2992..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14032 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 lYfESAzkdI>=>L|+T`+C+?&BV#w - - - - - - -

    beginShape() and endShape() test

    - -

    - - -

    - -
    -size(500, 200, P3D);
    -background(200);
    -strokeWeight(2);
    -
    -beginShape(TRIANGLE_STRIP);
    -stroke(255,0,0);fill(0,255,255);
    -vertex(30, 75);
    -vertex(40, 20);
    -stroke(255,255,0);fill(0,0,255);
    -vertex(50, 75);
    -vertex(60, 20);
    -stroke(255,0,0);fill(0,255,255);
    -vertex(70, 75);
    -vertex(80, 20);
    -stroke(255,0,255);fill(255,0,0);
    -vertex(90, 75);
    -endShape();
    -
    -stroke(0);
    -fill(255);
    -
    -beginShape(TRIANGLE_STRIP);
    -stroke(255,0,0);fill(255,0,0);
    -vertex(130, 75);
    -stroke(0,255,0);fill(0,255,0);
    -vertex(140, 20);
    -stroke(0,0,255);fill(0,0,255);
    -vertex(150, 75);
    -stroke(255,0,255);fill(255,0,255);
    -vertex(160, 20);
    -stroke(255,255,0);fill(255,255,0);
    -vertex(170, 75);
    -stroke(0,255,0);fill(0,255,0);
    -vertex(180, 20);
    -endShape();
    -
    -stroke(0);
    -fill(255);
    -
    -beginShape(TRIANGLE_STRIP);
    -fill(255,255,0);
    -vertex(230, 75);
    -vertex(240, 20);
    -fill(0,255,0);
    -vertex(250, 75);
    -
    -fill(255,0,0);
    -vertex(260, 20);
    -fill(0,0,255);
    -vertex(270, 75);
    -vertex(290, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -fill(0,255,0);
    -vertex(330, 75);
    -fill(128,128,255);
    -vertex(340, 20);
    -vertex(350, 75);
    -fill(0,255,255);
    -vertex(360, 20);
    -vertex(380, 20);
    -fill(0,128,0);
    -vertex(390, 75);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -fill(255,0,0);vertex(430, 75);
    -fill(255,128,0);vertex(440, 20);
    -fill(255,0,128);vertex(450, 75);
    -fill(255,128,128);vertex(470, 75);
    -fill(128,0,255);vertex(480, 20);
    -fill(128,0,128);vertex(490, 75);
    -endShape();
    -
    -fill(255);
    -beginShape(TRIANGLE_STRIP);
    -stroke(128,0,128);vertex(30, 175);
    -stroke(128,128,0);vertex(40, 120);
    -stroke(0,128,0);vertex(60, 120);
    -stroke(128,0,0);vertex(70, 175);
    -stroke(128,128,128);vertex(80, 120);
    -stroke(0,128,0);vertex(90, 175);
    -endShape();
    -
    -stroke(0);
    -beginShape(TRIANGLE_STRIP);
    -vertex(130, 175);
    -vertex(150, 175);
    -vertex(160, 120);
    -vertex(170, 175);
    -vertex(180, 120);
    -vertex(190, 175);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -stroke(128,0,255);
    -vertex(240, 120);
    -stroke(255,128,128);
    -vertex(250, 175);
    -stroke(255,0,128);
    -vertex(260, 120);
    -vertex(270, 175);
    -stroke(0,128,128);
    -vertex(280, 120);
    -stroke(255);
    -vertex(290, 175);
    -endShape();
    -
    -fill(255);
    -beginShape(TRIANGLE_STRIP);
    -stroke(128,0,128);
    -vertex(330, 175);
    -stroke(128,128,0);
    -vertex(340, 120);
    -vertex(350, 175);
    -stroke(128,0,0);
    -vertex(360, 120);
    -vertex(370, 175);
    -endShape();
    -
    -fill(0);
    -beginShape(TRIANGLE_STRIP);
    -stroke(0,255,0);
    -vertex(430, 175);
    -vertex(440, 120);
    -vertex(450, 175);
    -stroke(0,0,255);
    -vertex(460, 120);
    -endShape();
    -
    - - \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs b/examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs deleted file mode 100644 index 19b07bef4..000000000 --- a/examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs +++ /dev/null @@ -1,131 +0,0 @@ -size(500, 200, P3D); -background(200); -strokeWeight(2); - -beginShape(TRIANGLE_STRIP); -stroke(255,0,0);fill(0,255,255); -vertex(30, 75); -vertex(40, 20); -stroke(255,255,0);fill(0,0,255); -vertex(50, 75); -vertex(60, 20); -stroke(255,0,0);fill(0,255,255); -vertex(70, 75); -vertex(80, 20); -stroke(255,0,255);fill(255,0,0); -vertex(90, 75); -endShape(); - -stroke(0); -fill(255); - -beginShape(TRIANGLE_STRIP); -stroke(255,0,0);fill(255,0,0); -vertex(130, 75); -stroke(0,255,0);fill(0,255,0); -vertex(140, 20); -stroke(0,0,255);fill(0,0,255); -vertex(150, 75); -stroke(255,0,255);fill(255,0,255); -vertex(160, 20); -stroke(255,255,0);fill(255,255,0); -vertex(170, 75); -stroke(0,255,0);fill(0,255,0); -vertex(180, 20); -endShape(); - -stroke(0); -fill(255); - -beginShape(TRIANGLE_STRIP); -fill(255,255,0); -vertex(230, 75); -vertex(240, 20); -fill(0,255,0); -vertex(250, 75); - -fill(255,0,0); -vertex(260, 20); -fill(0,0,255); -vertex(270, 75); -vertex(290, 75); -endShape(); - -beginShape(TRIANGLE_STRIP); -fill(0,255,0); -vertex(330, 75); -fill(128,128,255); -vertex(340, 20); -vertex(350, 75); -fill(0,255,255); -vertex(360, 20); -vertex(380, 20); -fill(0,128,0); -vertex(390, 75); -endShape(); - -beginShape(TRIANGLE_STRIP); -fill(255,0,0);vertex(430, 75); -fill(255,128,0);vertex(440, 20); -fill(255,0,128);vertex(450, 75); -fill(255,128,128);vertex(470, 75); -fill(128,0,255);vertex(480, 20); -fill(128,0,128);vertex(490, 75); -endShape(); - -fill(255); -beginShape(TRIANGLE_STRIP); -stroke(128,0,128);vertex(30, 175); -stroke(128,128,0);vertex(40, 120); -stroke(0,128,0);vertex(60, 120); -stroke(128,0,0);vertex(70, 175); -stroke(128,128,128);vertex(80, 120); -stroke(0,128,0);vertex(90, 175); -endShape(); - -stroke(0); -beginShape(TRIANGLE_STRIP); -vertex(130, 175); -//vertex(140, 120); -vertex(150, 175); -vertex(160, 120); -vertex(170, 175); -vertex(180, 120); -vertex(190, 175); -endShape(); - -beginShape(TRIANGLE_STRIP); -stroke(128,0,255); -vertex(240, 120); -stroke(255,128,128); -vertex(250, 175); -stroke(255,0,128); -vertex(260, 120); -vertex(270, 175); -stroke(0,128,128); -vertex(280, 120); -stroke(255); -vertex(290, 175); -endShape(); - -fill(255); -beginShape(TRIANGLE_STRIP); -stroke(128,0,128); -vertex(330, 175); -stroke(128,128,0); -vertex(340, 120); -vertex(350, 175); -stroke(128,0,0); -vertex(360, 120); -vertex(370, 175); -endShape(); - -fill(0); -beginShape(TRIANGLE_STRIP); -stroke(0,255,0); -vertex(430, 175); -vertex(440, 120); -vertex(450, 175); -stroke(0,0,255); -vertex(460, 120); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug634/endShape-3dtest-trianglestrip/p5_result.jpg b/examples/seneca/bug634/endShape-3dtest-trianglestrip/p5_result.jpg deleted file mode 100644 index 2d55acf32bfe761be4a2a5bbc5b04fedd9d8cc27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83271 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

    ~Z{}Buc7!JIxN#RW@pY^F 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 paUO7ws^Z`?1UXq diff --git a/examples/seneca/bug634/test1/test.html b/examples/seneca/bug634/test1/test.html deleted file mode 100644 index aad6a2082..000000000 --- a/examples/seneca/bug634/test1/test.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup(){
    -  size(100,100,OPENGL);
    -  translate(width/2, height/2,0);
    -  stroke(0);
    -
    -  beginShape(TRIANGLES);
    -  fill(256,0,0);
    -  vertex(0,-20,0);
    -  fill(0,256,0);
    -  vertex(-30,20,0);
    -  fill(0,0,256);
    -  vertex(30,20,0);
    -  endShape();
    -}
    - - - diff --git a/examples/seneca/bug634/test1/test.pjs b/examples/seneca/bug634/test1/test.pjs deleted file mode 100644 index 591c0f55c..000000000 --- a/examples/seneca/bug634/test1/test.pjs +++ /dev/null @@ -1,16 +0,0 @@ -import processing.opengl.*; - -void setup(){ - size(100,100,OPENGL); - translate(width/2, height/2,0); - stroke(0); - - beginShape(TRIANGLES); - fill(256,0,0); - vertex(0,-20,0); - fill(0,256,0); - vertex(-30,20,0); - fill(0,0,256); - vertex(30,20,0); - endShape(); -} \ No newline at end of file diff --git a/examples/seneca/bug634/test2/test.html b/examples/seneca/bug634/test2/test.html deleted file mode 100644 index 9afc0e112..000000000 --- a/examples/seneca/bug634/test2/test.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - -

    - -
    -// Demo from www.Processing.org
    -
    - - - diff --git a/examples/seneca/bug634/test2/test.pjs b/examples/seneca/bug634/test2/test.pjs deleted file mode 100644 index fe8a8e012..000000000 --- a/examples/seneca/bug634/test2/test.pjs +++ /dev/null @@ -1,68 +0,0 @@ -float xmag, ymag = 0; -float newXmag, newYmag = 0; - -void setup() -{ - size(640, 360, P3D); - noStroke(); - colorMode(RGB, 1); -} - -void draw() -{ - background(0); - pushMatrix(); - - translate(width/2, height/2, -30); - - newXmag = mouseX/float(width) * TWO_PI; - newYmag = mouseY/float(height) * TWO_PI; - - float diff = xmag-newXmag; - if (abs(diff) > 0.01) { xmag -= diff/4.0; } - - diff = ymag-newYmag; - if (abs(diff) > 0.01) { ymag -= diff/4.0; } - - rotateX(-ymag); - rotateY(-xmag); - - scale(90); - stroke(120); - - beginShape(QUADS); - - fill(0, 1, 1); vertex(-1, 1, 1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - - fill(1, 1, 0); vertex( 1, 1, -1); - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 1, 1); vertex(-1, 1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - fill(0, 0, 0); vertex(-1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(0, 1, 1); vertex(-1, 1, 1); - - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - endShape(); - - popMatrix(); -} diff --git a/examples/seneca/bug634/test3/p5_result.jpg b/examples/seneca/bug634/test3/p5_result.jpg deleted file mode 100644 index 37bfafd209171dc6524836ba3308955cccc4923d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17470 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 diff --git a/examples/seneca/bug634/test3/test.html b/examples/seneca/bug634/test3/test.html deleted file mode 100644 index bb182a388..000000000 --- a/examples/seneca/bug634/test3/test.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -
    - - - diff --git a/examples/seneca/bug634/test3/test.pjs b/examples/seneca/bug634/test3/test.pjs deleted file mode 100644 index 6a0c39507..000000000 --- a/examples/seneca/bug634/test3/test.pjs +++ /dev/null @@ -1,42 +0,0 @@ -void setup() -{ - size(100, 100, P3D); - background(0); - colorMode(RGB, 1); - strokeWeight(5); - - translate(width/2, height/2, 0); - scale(30); - - beginShape(LINES); - - stroke(0, 1, 1); vertex(-1, 1, 1); - stroke(1, 1, 1); vertex( 1, 1, 1); - stroke(0, 1, 1); vertex(-1, 1, 1); - stroke(0, 0, 1); vertex(-1, -1, 1); - stroke(1, 0, 1); vertex( 1, -1, 1); - stroke(0, 0, 1); vertex(-1, -1, 1); - - stroke(1, 1, 1); vertex( 1, 1, 1); - stroke(1, 1, 0); vertex( 1, 1, -1); - stroke(1, 1, 1); vertex( 1, 1, 1); - stroke(1, 0, 1); vertex( 1, -1, 1); - stroke(1, 0, 0); vertex( 1, -1, -1); - stroke(1, 0, 1); vertex( 1, -1, 1); - - stroke(1, 1, 0); vertex( 1, 1, -1); - stroke(0, 1, 0); vertex(-1, 1, -1); - stroke(1, 1, 0); vertex( 1, 1, -1); - stroke(1, 0, 0); vertex( 1, -1, -1); - stroke(0, 0, 0); vertex(-1, -1, -1); - stroke(1, 0, 0); vertex( 1, -1, -1); - - stroke(0, 1, 0); vertex(-1, 1, -1); - stroke(0, 1, 1); vertex(-1, 1, 1); - stroke(0, 1, 0); vertex(-1, 1, -1); - stroke(0, 0, 0); vertex(-1, -1, -1); - stroke(0, 0, 1); vertex(-1, -1, 1); - stroke(0, 0, 0); vertex(-1, -1, -1); - - endShape(); -} \ No newline at end of file diff --git a/examples/seneca/bug634/test4/p5_result.jpg b/examples/seneca/bug634/test4/p5_result.jpg deleted file mode 100644 index 62db9f03704939729b66b4e92d09c99e2ed93e76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17388 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 diff --git a/examples/seneca/bug634/test4/test.html b/examples/seneca/bug634/test4/test.html deleted file mode 100644 index 8f300d0a6..000000000 --- a/examples/seneca/bug634/test4/test.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -void setup() 
    -{ 
    -  size(100, 100, P3D); 
    -  colorMode(RGB, 1); 
    -} 
    - 
    -void draw() 
    -{ 
    -  background(0);
    -  translate(width/2, height/2, -30); 
    -  
    -  rotateX(PI/4);
    -  rotateZ(PI/4);
    -  
    -  strokeWeight(10);
    -  stroke(1);
    -
    -  scale(30);
    - 
    -  beginShape(QUADS);
    -
    -  fill(0, 1, 1); vertex(-1,  1,  1);
    -  fill(1, 1, 1); vertex( 1,  1,  1);
    -  fill(1, 0, 1); vertex( 1, -1,  1);
    -  fill(0, 0, 1); vertex(-1, -1,  1);
    -
    -  fill(1, 1, 1); vertex( 1,  1,  1);
    -  fill(1, 1, 0); vertex( 1,  1, -1);
    -  fill(1, 0, 0); vertex( 1, -1, -1);
    -  fill(1, 0, 1); vertex( 1, -1,  1);
    -
    -  fill(1, 1, 0); vertex( 1,  1, -1);
    -  fill(0, 1, 0); vertex(-1,  1, -1);
    -  fill(0, 0, 0); vertex(-1, -1, -1);
    -  fill(1, 0, 0); vertex( 1, -1, -1);
    -
    -  fill(0, 1, 0); vertex(-1,  1, -1);
    -  fill(0, 1, 1); vertex(-1,  1,  1);
    -  fill(0, 0, 1); vertex(-1, -1,  1);
    -  fill(0, 0, 0); vertex(-1, -1, -1);
    -
    -  fill(0, 1, 0); vertex(-1,  1, -1);
    -  fill(1, 1, 0); vertex( 1,  1, -1);
    -  fill(1, 1, 1); vertex( 1,  1,  1);
    -  fill(0, 1, 1); vertex(-1,  1,  1);
    -
    -  fill(0, 0, 0); vertex(-1, -1, -1);
    -  fill(1, 0, 0); vertex( 1, -1, -1);
    -  fill(1, 0, 1); vertex( 1, -1,  1);
    -  fill(0, 0, 1); vertex(-1, -1,  1);
    -
    -  endShape();
    -}
    - - - diff --git a/examples/seneca/bug634/test4/test.pjs b/examples/seneca/bug634/test4/test.pjs deleted file mode 100644 index 45b7f99ba..000000000 --- a/examples/seneca/bug634/test4/test.pjs +++ /dev/null @@ -1,53 +0,0 @@ -void setup() -{ - size(100, 100, P3D); - colorMode(RGB, 1); -} - -void draw() -{ - background(0); - translate(width/2, height/2, -30); - - rotateX(PI/4); - rotateZ(PI/4); - - strokeWeight(10); - stroke(1); - - scale(30); - - beginShape(QUADS); - - fill(0, 1, 1); vertex(-1, 1, 1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - fill(1, 1, 1); vertex( 1, 1, 1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - - fill(1, 1, 0); vertex( 1, 1, -1); - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(0, 1, 1); vertex(-1, 1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - fill(0, 0, 0); vertex(-1, -1, -1); - - fill(0, 1, 0); vertex(-1, 1, -1); - fill(1, 1, 0); vertex( 1, 1, -1); - fill(1, 1, 1); vertex( 1, 1, 1); - fill(0, 1, 1); vertex(-1, 1, 1); - - fill(0, 0, 0); vertex(-1, -1, -1); - fill(1, 0, 0); vertex( 1, -1, -1); - fill(1, 0, 1); vertex( 1, -1, 1); - fill(0, 0, 1); vertex(-1, -1, 1); - - endShape(); -} \ No newline at end of file diff --git a/examples/seneca/bug634/test5/p5_result.jpg b/examples/seneca/bug634/test5/p5_result.jpg deleted file mode 100644 index 902c9e1b29cd34e0354b6f2f5d1fb0390b04639c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27916 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%0AeB%5@J#kGBQ$d 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 diff --git a/examples/seneca/bug634/test5/test.html b/examples/seneca/bug634/test5/test.html deleted file mode 100644 index e96ea9718..000000000 --- a/examples/seneca/bug634/test5/test.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - If the canvas and image below are identical, the test has passed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() 
    -{ 
    -  size(100, 100, OPENGL);
    -  background(0);
    -  colorMode(RGB, 1);
    -
    -  beginShape(POINT);
    -  pushMatrix();
    -
    -  for(int y = 0; y < 100; y+=5){
    -  for(int x = 0; x < 100; x+=5){
    -      stroke(x/100.0f,y/100.0f,100-x/100.0f);
    -      vertex(x, y, 0);
    -    }
    -  }
    -  popMatrix();
    -
    -  endShape();
    -}
    - - - diff --git a/examples/seneca/bug634/test5/test.pjs b/examples/seneca/bug634/test5/test.pjs deleted file mode 100644 index 6c1a93fd5..000000000 --- a/examples/seneca/bug634/test5/test.pjs +++ /dev/null @@ -1,21 +0,0 @@ -import processing.opengl.*; - -void setup() -{ - size(100, 100, OPENGL); - background(0); - colorMode(RGB, 1); - - beginShape(POINT); - pushMatrix(); - - for(int y = 0; y < 100; y+=5){ - for(int x = 0; x < 100; x+=5){ - stroke(x/100.0f,y/100.0f,100-x/100.0f); - vertex(x, y, 0); - } - } - popMatrix(); - - endShape(); -} \ No newline at end of file diff --git a/examples/seneca/bug634/test6/p5_result.jpg b/examples/seneca/bug634/test6/p5_result.jpg deleted file mode 100644 index 1703d9a3c32f210f3c054680ee2d26843d911fda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24362 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 - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - This test fails, but ticket has been filed.
    -

    - -

    - - -

    - -
    -// Test by Andor Salga
    -float o = 0.1;
    -float c = 1;
    -
    -void setup() 
    -{ 
    -  size(200, 200, P3D); 
    -
    -  colorMode(RGB, 1); 
    -  background(0);
    -  stroke(1);
    -  
    -  translate(width/2, height/2, 0); 
    -  rotateX(-PI/7); 
    -  rotateY(PI/7); 
    -  scale(50);
    -
    -  beginShape(QUADS);
    -
    -  fill(c, 0, 0,o); vertex(-1,  1,  1);
    -  fill(c, 0, 0,o); vertex( 1,  1,  1);
    -  fill(c, 0, 0,o); vertex( 1, -1,  1);
    -  fill(c, 0, 0,o); vertex(-1, -1,  1);
    -
    -  fill(0, c, 0,o); vertex( 1,  1,  1);
    -  fill(0, c, 0,o); vertex( 1,  1, -1);
    -  fill(0, c, 0,o); vertex( 1, -1, -1);
    -  fill(0, c, 0,o); vertex( 1, -1,  1);
    -
    -  fill(0, 0, c,o); vertex( 1,  1, -1);
    -  fill(0, 0, c,o); vertex(-1,  1, -1);
    -  fill(0, 0, c,o); vertex(-1, -1, -1);
    -  fill(0, 0, c,o); vertex( 1, -1, -1);
    -
    -  fill(c, c, 0,o); vertex(-1,  1, -1);
    -  fill(c, c, 0,o); vertex(-1,  1,  1);
    -  fill(c, c, 0,o); vertex(-1, -1,  1);
    -  fill(c, c, 0,o); vertex(-1, -1, -1);
    -
    -  endShape();
    -}
    - - - diff --git a/examples/seneca/bug634/test6/test.pjs b/examples/seneca/bug634/test6/test.pjs deleted file mode 100644 index 0ecedad2e..000000000 --- a/examples/seneca/bug634/test6/test.pjs +++ /dev/null @@ -1,40 +0,0 @@ -float o = 0.1; -float c = 1; - -void setup() -{ - size(200, 200, P3D); - - colorMode(RGB, 1); - background(0); - stroke(1); - - translate(width/2, height/2, 0); - rotateX(-PI/7); - rotateY(PI/7); - scale(50); - - beginShape(QUADS); - - fill(c, 0, 0,o); vertex(-1, 1, 1); - fill(c, 0, 0,o); vertex( 1, 1, 1); - fill(c, 0, 0,o); vertex( 1, -1, 1); - fill(c, 0, 0,o); vertex(-1, -1, 1); - - fill(0, c, 0,o); vertex( 1, 1, 1); - fill(0, c, 0,o); vertex( 1, 1, -1); - fill(0, c, 0,o); vertex( 1, -1, -1); - fill(0, c, 0,o); vertex( 1, -1, 1); - - fill(0, 0, c,o); vertex( 1, 1, -1); - fill(0, 0, c,o); vertex(-1, 1, -1); - fill(0, 0, c,o); vertex(-1, -1, -1); - fill(0, 0, c,o); vertex( 1, -1, -1); - - fill(c, c, 0,o); vertex(-1, 1, -1); - fill(c, c, 0,o); vertex(-1, 1, 1); - fill(c, c, 0,o); vertex(-1, -1, 1); - fill(c, c, 0,o); vertex(-1, -1, -1); - - endShape(); -} \ No newline at end of file diff --git a/examples/seneca/bug634/test7/test.html b/examples/seneca/bug634/test7/test.html deleted file mode 100644 index 8f5d74cc7..000000000 --- a/examples/seneca/bug634/test7/test.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 634

    - -

    This page tests the fix for bug 634 for Processing.js
    - No P5 screenshot because it has issues with this test.
    - Testing case when vertex is called without providing type (POINTS, TRIANGLES, etc)
    -
    - beginShape();
    - vertex(0, 0, 0);
    - endShape();
    -

    - -

    - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup() 
    -{ 
    -  size(100, 100, OPENGL);
    -  background(0);
    -
    -  stroke(255, 0, 0);
    -  for(int x = 0; x < 100; x++){
    -    beginShape();
    -    vertex(x, x, 0);
    -    endShape();
    -  }
    -
    -  stroke(0, 255, 0);
    -  for(int x = 0; x < 100; x++){
    -    beginShape();
    -    vertex(100-x, x, 0);
    -    endShape();
    -  }
    -
    -  stroke(0 ,0, 255);
    -  for(int x = 0; x < 100; x++){
    -    beginShape();
    -    vertex(100-x, 50, 0);
    -    endShape();
    -  }
    -}
    - - - diff --git a/examples/seneca/bug634/test7/test.pjs b/examples/seneca/bug634/test7/test.pjs deleted file mode 100644 index ea174741c..000000000 --- a/examples/seneca/bug634/test7/test.pjs +++ /dev/null @@ -1,29 +0,0 @@ -// Test by Andor Salga -import processing.opengl.*; - -void setup() -{ - size(100, 100, OPENGL); - background(0); - - stroke(255, 0, 0); - for(int x = 0; x < 100; x++){ - beginShape(); - vertex(x, x, 0); - endShape(); - } - - stroke(0, 255, 0); - for(int x = 0; x < 100; x++){ - beginShape(); - vertex(100-x, x, 0); - endShape(); - } - - stroke(0 ,0, 255); - for(int x = 0; x < 100; x++){ - beginShape(); - vertex(100-x, 50, 0); - endShape(); - } -} \ No newline at end of file diff --git a/examples/seneca/bug650/tests/noclose/berlin-1.jpg b/examples/seneca/bug650/tests/noclose/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/noclose/noclose.html b/examples/seneca/bug650/tests/noclose/noclose.html deleted file mode 100644 index b35ee505e..000000000 --- a/examples/seneca/bug650/tests/noclose/noclose.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -noFill();
    -beginShape();
    -texture(img);
    -vertex(30, 20, 0, 0, 1);
    -vertex(85, 20, 0, 1, 1);
    -vertex(85, 75, 0, 1, 0);
    -vertex(30, 75, 0, 0, 0);
    -endShape();
    -
    -beginShape();
    -texture(img);
    -vertex(130, 20, 0, 0, 0);
    -vertex(185, 20, 0, 0, 1);
    -vertex(185, 75, 0, 1, 1);
    -endShape();
    -
    -beginShape();
    -texture(img);
    -vertex(230, 20, 0, 0, 0);
    -vertex(285, 20, 0, 1, 1);
    -endShape();
    -
    -beginShape();
    -texture(img);
    -vertex(330, 20, 0, 1, 1);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/noclose/noclose.pjs b/examples/seneca/bug650/tests/noclose/noclose.pjs deleted file mode 100644 index 50abd4379..000000000 --- a/examples/seneca/bug650/tests/noclose/noclose.pjs +++ /dev/null @@ -1,36 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); - -noFill(); -beginShape(); -texture(img); -vertex(30, 20, 0, 0, 1); -vertex(85, 20, 0, 1, 1); -vertex(85, 75, 0, 1, 0); -vertex(30, 75, 0, 0, 0); -endShape(); - -beginShape(); -texture(img); -vertex(130, 20, 0, 0, 0); -vertex(185, 20, 0, 0, 1); -vertex(185, 75, 0, 1, 1); -endShape(); - -beginShape(); -texture(img); -vertex(230, 20, 0, 0, 0); -vertex(285, 20, 0, 1, 1); -endShape(); - -beginShape(); -texture(img); -vertex(330, 20, 0, 1, 1); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/noclose/p5_result.jpg b/examples/seneca/bug650/tests/noclose/p5_result.jpg deleted file mode 100644 index 0cd97b6e70095f06b684d129e4bd254ee420cf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22979 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 diff --git a/examples/seneca/bug650/tests/nomod/nomod.html b/examples/seneca/bug650/tests/nomod/nomod.html deleted file mode 100644 index 497a200e2..000000000 --- a/examples/seneca/bug650/tests/nomod/nomod.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -beginShape();
    -texture(img);
    -vertex(30, 20, 0, 0, 0);
    -vertex(85, 20, 0, 1, 0);
    -vertex(85, 75, 0, 1, 1);
    -vertex(30, 75, 0, 0, 1);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(130, 20, 0, 0, 0);
    -vertex(185, 20, 0, 1, 0);
    -vertex(185, 75, 0, 1, 1);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(230, 20, 0, 0, 0);
    -vertex(285, 20, 0, 1, 1);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(330, 20, 0, 0, 0);
    -endShape(CLOSE);
    - - - diff --git a/examples/seneca/bug650/tests/nomod/nomod.pjs b/examples/seneca/bug650/tests/nomod/nomod.pjs deleted file mode 100644 index 65e9bf613..000000000 --- a/examples/seneca/bug650/tests/nomod/nomod.pjs +++ /dev/null @@ -1,35 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); - -beginShape(); -texture(img); -vertex(30, 20, 0, 0, 0); -vertex(85, 20, 0, 1, 0); -vertex(85, 75, 0, 1, 1); -vertex(30, 75, 0, 0, 1); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(130, 20, 0, 0, 0); -vertex(185, 20, 0, 1, 0); -vertex(185, 75, 0, 1, 1); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(230, 20, 0, 0, 0); -vertex(285, 20, 0, 1, 1); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(330, 20, 0, 0, 0); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/nomod/p5_result.jpg b/examples/seneca/bug650/tests/nomod/p5_result.jpg deleted file mode 100644 index 2893862e2d19d9a0a99aed11428bfb07b0994cf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23381 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 diff --git a/examples/seneca/bug650/tests/polygon/p5_result.jpg b/examples/seneca/bug650/tests/polygon/p5_result.jpg deleted file mode 100644 index 788622eaf6978c57b0f376a69b191518ee7c0831..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20369 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 ccl{{rU%US=NuPh4vi;Y#|NrN - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -beginShape();
    -texture(img);
    -vertex(20, 20, 0, 0, 0);
    -vertex(40, 20, 0, 0, 1);
    -vertex(40, 40, 0, 1, 1);
    -vertex(60, 40, 0, 1, 0);
    -vertex(60, 60, 0, 0, 1);
    -vertex(20, 60, 0, 0, 0);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(120, 20, 0, 0, 1);
    -vertex(140, 20, 0, 1, 0);
    -vertex(140, 40, 0, 1, 1);
    -vertex(160, 40, 0, 0, 1);
    -vertex(160, 60, 0, 0, 0);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(220, 20, 0, 1, 1);
    -vertex(240, 20, 0, 1, 0);
    -vertex(240, 40, 0, 0, 1);
    -vertex(260, 40, 0, 1, 0);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(320, 20, 0, 1, 1);
    -vertex(340, 20, 0, 1, 0);
    -vertex(340, 40, 0, 0, 0);
    -endShape(CLOSE);
    -
    -beginShape();
    -texture(img);
    -vertex(420, 20, 0, 0, 0);
    -vertex(440, 20, 0, 1, 1);
    -endShape(CLOSE);
    - - - diff --git a/examples/seneca/bug650/tests/polygon/polygon.pjs b/examples/seneca/bug650/tests/polygon/polygon.pjs deleted file mode 100644 index 9d2ad40aa..000000000 --- a/examples/seneca/bug650/tests/polygon/polygon.pjs +++ /dev/null @@ -1,49 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); - -beginShape(); -texture(img); -vertex(20, 20, 0, 0, 0); -vertex(40, 20, 0, 0, 1); -vertex(40, 40, 0, 1, 1); -vertex(60, 40, 0, 1, 0); -vertex(60, 60, 0, 0, 1); -vertex(20, 60, 0, 0, 0); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(120, 20, 0, 0, 1); -vertex(140, 20, 0, 1, 0); -vertex(140, 40, 0, 1, 1); -vertex(160, 40, 0, 0, 1); -vertex(160, 60, 0, 0, 0); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(220, 20, 0, 1, 1); -vertex(240, 20, 0, 1, 0); -vertex(240, 40, 0, 0, 1); -vertex(260, 40, 0, 1, 0); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(320, 20, 0, 1, 1); -vertex(340, 20, 0, 1, 0); -vertex(340, 40, 0, 0, 0); -endShape(CLOSE); - -beginShape(); -texture(img); -vertex(420, 20, 0, 0, 0); -vertex(440, 20, 0, 1, 1); -endShape(CLOSE); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/quad_strip/berlin-1.jpg b/examples/seneca/bug650/tests/quad_strip/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/quad_strip/p5_result.jpg b/examples/seneca/bug650/tests/quad_strip/p5_result.jpg deleted file mode 100644 index 690bdbff706c684f3c17c8ed5b24c81afbef6ccd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57429 zcmeFYcUV+U_a}IfBuR3R)G9e683bBEKtMoprbR%KfaC@mT9F);AW9U;S&5P*3kpbv zMp7dpNxDU$wF7(g`@X;5&hF0cK0Eu&A2U-t-S^X{s!r9ZaO#{>m(#`5b%4o0S6>$( zBO?QDfPcU#npsj`TN`%E%tTlJrVf|^0L;A3_wV030|0=JZ%}}lp4J5$Te}O?D1aQG z1!w?jK-t+P@cy-1w{C(({wwKt9soH3z>L%%UjLOs|26Wt0I)#-Ad>_Ou(|((ul~Vz z{=pW1aA?r|Ah3+bAME1c>Oa|VSm;1vFAfwj; z0Ls;2_UUohu zemh9mg=ZJvTv`%16}lv>E8->kSgccgOOi=STRK3dOm)A*_uY0<(qd}pe%n|^VwXt z^|O0vKkG>8qyTfh{lvNN&Ue>KZkBh`-3L90URS)4_j-IO{Y>r`_sB>1HH9b$vb6@~Y za;pk~itm+gt5T~SY9wlKwIg-U>OC6NUeUfny{>JHY%*@X(EPn+s5Pt2<&AthdHctX z$DKx9XS)WwqkFFQoc8v-Mf7R(1O5F2v4b~gc1OLM5w<)Ba3SJ+o}Ry)?x*IhQ0&H!5GO5utbCN@5?dCC4L^x-Ny5UkBVOu za^r&Q#fO)Q1%?Da3sZ@Rit38_iDyc@k=&F%C!;LudO1z5M;@ansAR63q|&9jcjc@) zpN6954XDjk-)oPwo@!TL@79^r-O&54Pi4SmD0WlLNZ;7n#Oqe5X^dHhd9lT7%V8_D z%^6z(J8gSshlh?uPCc--+oyLfx)`|nx#ip)aR1?X$;;9^_1>^Axu5p^DF49#LJ)f} zZwMq*04@?H8ZH_kf)I|p6vd5XeL(Yo@bFvo>Z9?PH?c)=N%1}j=7~y4oJl9iGbuHx zv1#_{@{j2se|hpYBR4Z3>sGeZQ~Ia-IUk9xP}&jUCC z17u2M^=CBCd?wGOaG}(s5~t=pd!B}y_7a^Sy(ELgIYCAiMm!UWxgOL8Dy+ZQTG#_P zWH}Bw8@PPWOP|MZH}Qn4*3TPx{7p)vr2i&&MKlR7}Ymw$Sb<)OzJ3& zQcYi|@>Q~{AFkzSxoFE?2d+=(6zKZtUBAJ0-&xNO*+l8Ej+DMt(dk?Z-(0II|@7Bc75(4>plNg zzR$crY@l)wJuE(ge78S#{{!`S?_}vz^UTS7*pl6+!u8B8Hj0RSvifituk0NL*ifK2!<@bB}36_5mU02lxV zo&Yt#5U>XPB4ZiZ~p4yT6)mh53_Ge$woTYK5>7Zq!^`{-D6Q_%(`$DfrU(P_o zaF1c`-1T!UjKYlhOl(Za%oNN>W+F>C%Wu{Q)>F1vc3So)96TIloN}D~T;^Qp^C8@H z+%I|5cxHI-@lo*Q^Izs4f!v1tzL0ZK;o|J2AOSXkRzW*KqELabmhiSnvZ%D^q*$={ zdGSsOCrLo^rPOt)FVe{}k}?yr;g_$=@yY#?Ur=aLe5Mqk?5<*}s;#DRMP6M=1FC5N zy$zmlFSR~gKcl0n8>RP7pT)q`@bS%AIH6$nKu* zcYd=!+`t-sFF(Tk6gxIJxr6ilQv^|TP@bVQq|ByV zr;?$HqMD=@pbn-UJA3JD*x4x>37UACO^{h&)Z`p3Lq1Zjxe{rO6UgT^C=YH>eBDW~_D33SqIo{WNW_(!w z$B@gA*$ZJ8As0t3-51~nPp|+`N4*mc5fK!b7L61W7ek51OUO&COQuMvN^MC$mANK^ zk*&M@P|itSQvsq#rnsXtrQD-ZqxwSa*_FrYPc$+$^Ppu{TdqxLeZEeqBdB{*FZ4#a z{-z=S%{xXV#$RqpnEIP_TaZ~ASUs^u*nEmg9Tb580n@PV{i|zg_V}V%p#N=L4<-Uf|w;1FVsqC6gm_B1D7#%rXI{gLu1_o`0 zjdK}{I*cTyH_SmS@+?1C+t{MmwK*6#7C9@q!q4C27UDkTS?2BFE8>racw8{OsCh|B zfKQNFh*AhAj1}1tT@zaoUyzuUoRXT9o|c)B{VYczFQRZm(OW55xj|(@_4}1`>M|Ne znx4?ut1qwhYprOLbhvdj^lsmX)qi7fa8u04**Mo^&Xmc_)I7yv)QZOXx=pO@u>DyF zea951kGI*K?e4sA`R1l|cgiEci_yEw=dK^*{!&0zkXZ;@=u%jIgac@EtUf4?c8w8? z{SrTt_$oOsH6q>SiEJiS*2L57XI8n?c^w7rMdw~LzBDU2EK8{1uWYWit!1xUZK!-5 z)TGe@w2r<>@3_^)(!JQ5)n`4xHHaE6eCIYM`u@jw=VbDf)6AvWta+M+#3fc#;U~eB zk~N<7m*0smQ6>Y2<0;>Fl5R|HohYbAAA{+J5)^0xsOt1|6LLUz5+hV9gM7$ryqpbgf%qJVz1(~)&HqJ*-@o_Q$Nf_#>3)#bpYmKF&UXvc`FEM- za1RUXf7Klh2sX0>u^?Dx*4xkUPx(J>;auIW|Eq6jD17f3-vsGkpU<#)2I>FlKO2a} z0bRfu2mssxH$V!w321{m>!0rnApHXP+Yiij0|LQvpZ}KocPXpCzdipCwWNT%fBA*{ zt>X=R0qgj{Jfj0ZUjOhN1zbRyGpM`&MUkzM-H|2y``6zV@BMA{-!%-uU;icL-#z@( zyMJ;#0ap zMggU`0_Les?6>XzM_>LKn>+s@qaoOu8xZ_=M122)`hRK_@C0KRe|>jwlmRMmZRETE zL4D0be;)ru3UY&kemwwa``r%<@O1YGx^NAQT)0VI(D!wbmb@S*ds!AZ-2l)!aL>B{ zU}OY{gN4rmG-Om@Tm+otKmIfs%fB!gh`9mEzjOcyC*%1K98D(rzbk+FuNMxkDIkeV z?k@({0`QXT%3n+c;?{Ui0JO*cMhLpV=bv-~{D3X|^E7gHxnN>`!REqcS!qRSl?$S( zH{~xoivfQ+tR}0ZCaZAavb>tSqME!saLw1%F92L@FV6g%C)tk|L2E(%izp| z@uB~w^oPlR6N5jMPu~K}XMt6+ALL}rz!_#Ta%QsAK>z~EPWcb-Ki&P4$j*>cP*PE! zrJcpV=edQ1MMTBK6%>_}RaDiquj}aQ-Ox8Mx3ILb1_L%Ou5NeTJv_Yv zgMvds;bGyAVq)Xs6B3g$GPAOu<~)0z`?938th}PKs=BeMxuv!3O?yZGz~IpE$h*<8 z>6zKN`Gv(L)CPL<^VXN`uRFWg??*p=9-rWT{r)2t8E94iJN;kE1r7q)843z=3hF;{ zk(~+sBRDe!<;BZXEZ0n_o&8xa$vr&FruC%wbsvp@ycvf5PQVl`hoHiS5cZE~eX_`1<;d&TZ5UL8Gr($vASUBtNzyGOvSDnvK%6pziE7aTuh}8t9kdi zNl9OU?E5K@0QEWrm{;JF<{0aKlX&ii!R0!th-9Ns#~y5U#Y4hnze?0+N6%c}n#c-o z7O#_5Gl_wyOU=>Xp*Whhi?%4Z0PIFFN6kPmjlquQ{Z1D!q;|~72uhtHEO?{a+&tZ~ zX;xt?+d0x?07ZOhzr4qB%TVyvN~Wh6#T|{nN`hG$>JXj=dnJBfAT9BBP z@E4jT80e6Z1R4_iqk$9dZQ0pA9qeIuqwBbEbrfyWZ=Tqh^RrfRXLjY>k{vElt zKU+fJ10%AnUXD}1(*?6_HBAuMIAq)_V(N;hecSf5hi67n$E-VR{E5FG(Rs_{B{a zJz3WV%7!9CPNoM>PM91%4cz0HmPphdr7ZaHFo|ODCLNXdS?Y_JqvHacA=c$qq|C@%(n$T(oq34m>3wc}SGOA<-3k`PqX%h$OnlTf3F&?cyiJ7SssU)* zH{|v)l5jTj6i9kOPqZI?`kN!WYA<*ARS;1`cjhqI(Ts%tV%gR>)4b>DC(|HuTi?c~ zuK1~^%^58LCI-NtM2_29Pfx6>ZhP3}>DORbY~)GR=EjzDY*+t8xR@=6+kf^)sxgn0 z*|3zss+e!k(zjalBh$9jZ<3{j?9zY+`Tt#q{#PbAEB}24VX!mZr03ZulP-gSb00^y zXwC{AK9*J<3ygcx_<=pZSd@I?6ljAk6Oni|;8)xFDG)t!Ou-%4w$$Ro{!QWFj>ftP ze+9)fU6t#_6P2#J%1?}G>=S%h-0oUaJ&;akEPsym>kC|>j3}T{zgFcnBS63G+4h^A z^n@a?^%Uq1t8zl=(^KSR*}hk+f5-QL`Wm+O6u9>_iZjFci)V*&nnEPZ`m>z&9R;F` zQQEGhw4t_V<*pT{*(>VN8@U^;rINd3ZJ;uCfGj$NqOAAv>V&XI?}k@aeM9$$S3`d+ zuco!_Qi=3w6H|+EFK_7Ol<#S(%qvC;JZAA`t@!%;UXH0Wp;kFOEe{#Y%B21|+m|!o zX8qgq{$H8Akn9Lgjc<$Jehy(sWo2Xg@`2?xUqjTcPc66ZXS!D|IgTn^_?FkQ*uCf2mV7z-w(BV(wk?VJ`I03~$!*OC zq)(@S-_KKE|10o61SH#O=yDGVR8zX#&Rf;DE62+laf|wkRqSSZg420$*+klTK^dhR z4t{!@aKRJ2PEe8a#XglDJ!db6Vz_8AymycR;)rGAUadk)@eH?_FMGlm)vrbPS9zh_Dq^M7bt*t@riPU)RL4Oo z;Ey(`6T2+SahrXxmfrpX`_18W>Qr^}b)v}nV8|MCmwdTqQK``jc*bZDGCmjb@Y@eR zCS2giEm*Bu{~BX59kSfpxUGf!8vvE(x~}Du4Y^nnoh&_LZ5yIy?vou(R>B7c zA8hcTS#qR}Vx4mhH?R z?c}r}7da_YkE_bpyg2N1zC0z{Tx(Pw8ix^OhCrczu27Vr5RO>t zJ|_*#+?TvSbOSeh;H{=A<`jrmIDB}lcD8pusE7mZGGMldgBrJ|YZ)nx9~=}}bpSt3 zfu+t7np%VpZqJ`HJqVWe@)Q_=(Mzvw_QoFU*ZxpyYwN(ys`>TpT=@9Y(Y`+bh7-P$ zJjp6WdWclq+SgPLMBCKKTzHjsm9Y)_Z>94;A@~(Y;+W_>1+K@VO-S^btjMG37qn&w z-Ok*vFe8jLT5nmsSFHY^r8f@cGyCMh8KI%!Y;4G|cWDB>R*s2WKV8^0Wo{t2Vz35J zCca4E#3kMn$s8|OFvD3ZoUj}vO4omjk}wGi`C3})7wj)T!Y`m}!S#a92n(|hc11n{ zZTHW5R{8=N_zi*5g!P)zgj0acphGRAK83a;qxP)eEh;EM`28`m@f7G!!(|@Bl*jR$ z1i>gW(uawIRoJl}K^nGS)P!VQ>=`(gDiT>b#$M&21G(#1nEc^B#cau<(1W{?knlkK z(j|f^Z9>wSm!h=QXDR`*tL(lcA=p~2cO(Xe7J3(FqD19mxZxnbJUZ;!($$KqqueS@ z1N1WH(VQ9T!~5?HK9alOQbQ?6yW`i}28&vLMcwLXpC|F`hMEpvW8mdfYZzMIIdFN* zd-LhERwnS$GVE|bEFr{Bqc}Fina2<$} zcQ?~2;vVPRw#mGDR#O)KI1G+6!CpBr8091wX|j&)9dSM zIsE|%FrKk0Tv@D4ODGeWPl@W=7c`8+P}YKWoF(?^KKwHbmxmDlt`)y6ZoWnXClqfoXddA*F5y@K<-=ya9n*l3GrztI(gou$3IxskrkN%=b) zui3>qEn;bB9yLZ0JjYB!!l7YO{OMJ@;fDm)-s5|%l=ldRco!WB78e)}ehLuSoV1%C zwfScrR|RjYZ$7r>`qcyzJ#q+bCaJeuH5z1dF1X{L&ga^lGb422+v{wi4-t-d*F?G}BLp^g5-q;+*kk3foq+YioO%p z_{#KDk87^asDZS!vYFvl(bB>(6z9HKl(g2m7DuqhN*s^Q1wkLJHBZKpAPCJSKb)xb z!GQ}gcAcnqtW3<*6nEUYw0)CUCi(5BRnf>Pz}n@5CXcKeuiQ12ZYMrx|L%eE%`9IG znjb-za5Gr8X^4pR7+8Nfo^uX`qsA`lqu#Id)OA)Ad>P{s#;VN?SY%s$-6+zyv59RC ztFH-m^_C2Q?GcGq_~BDCS!f{M z{Nh;Sy9z!%)h(m@T?>#&iFvQf2761Uy>e|zKW3VGzM;Gd(^lwIJ`m@AK3COm?e&kJ zb6ioXDht{aa&r%L550>R!Ap_`izuT62@=?b1cLKs(Xxo`d~*Y8^7s(vS-u8Zrh{NV zUOa`kW0d=Pm-CJjaT=IO9VL{>fwGII3_+lXfxxf>X~nmGk1U%bIi_VuFHHW>FO@#msG!rB;Py6o$(Z9wU8 zC4IkT4r=gD2<^G9Ynu(c-f9RG<rLC-ivzg z9qH~LCNsRD(v|>iJ-T5zj7M}bJY6p_q{pbhRqh7Df6wImE9?Z$S0oP1zMTm|ISrSw z?Nmh=Bq2@5P4KLgwv{7%u=A<;SpGQ!88WU7v0LR|?JifCJ-t*Y7d55Yk+mlsWoaOV z)Uhk-W27NXz`zZP-+;zxO5^a**eKzs(NmxmnyBu+k)Bl4B6FaK#b2FO*T!t3Pxb}M z;Q|iLQ<|Cxdt7z}9BGRo8=O&-Fs-*qzL*=xd%V=tdU6 zY(gl(OSxNQS0T~Jwu#JYyQud_jP)si(z}VP!|UVR(Q9vEs4MGj14Yrl;~yZsWl(_| z6*1~$8*9u_6A+Baim?yW5NEp%Np|AFnaDZeDmJOpgS)kk%rKT;iYvXMM7ldVyTe{K z7QRQnNmlwGtD452#>4XUW40up!D|Z-i;k+)D&wxqD&s(-kB(&{3rMg!MPP;>*_zD>%B&e)L09Bi)(7jCwEJm|_RI-nyu zp_V^m)QtwYQbtsBjM+oP?dB_g;*p)@q*Ol;@<6&2Or(5HV`-m3FNj|eWn~plskAt&@OJ*I}YV2+t#KA-EC&{~| zGe!z4-6ddTKRP&S;^~3}dr=bf-m`1S=k_F84R8~(Ay)`*m3E+B)~YUXA`~uHEK*o= z$Nj5I%myRsoFtZ}j9TY%F!{~R&1=s~NuniBzAWVkWDIs5sVpyU{FvHZYupQ(&qFFz zjJHD1D#$G1j}LHS>xc0@ia27#hD-viG5#P74dsBt&=m(dczr?y=I2R*CO_gfF+OOL za|rA!Ea*a7fbha^1?T}!gB4@VHcqkn~t8TX&ZOSQ3Kwzl0h(le~!s7FGJ1X!0vrb z&Kmn}k?!A3@po@fkHT7;Ll=su5K=E}amm9`9FK;y zsf?n-$)imULQ4^HI3vv1@-T#RzZjglN60=Md#ibZBl^6R5oiBlgEz9du!MGLpmdj? zdA^vRD^gsqXOShOiz_A>J2z;SU?*L>{cV0to=nP8x3!sOu9 z(FI$M*NrAg(HTxDtjISp4=(+1&Ne7i9NFU%&&IOA9fWrE@7fU5-Q43d9$9!y8)-k4 z(wX@5X~Nh)#^Q&5yYA(=(&l8}?>^njO(qK#t_VqDbPp|VZ!`Wt)vHII*w_Mzg)#;o zk|R_x^j6@7k!b@?lwO~4kU@Ds!~)lJ=R;8oeUw;7&dpiHbcW@+iQ4ZTP3qr=iuD6O zuQWrL`w0<4OFe-j?AryBPC7a6HV!!=>Bk|kcpHbi_75wx6Dl3oJzTuM-(8)GxOcP0 zG|T*V{#Lw!`|CltgRp%zrbW#{vo3E_?t`w|bHlmp31 z1oCdqG$6g6w$A-Df*5wr5)8e|$GwrhJH?ZMRkn_vw_w_i2!FH)6K0Zn+jdK`PmeXW zzbr2MrViC@7`Z?Ps1vQL^sX#?kZdkkeFIOE;DNb09R zjQ5S4Ve175#taIMw%mKP?Y-jm`4?$2=b~o0LlRnBQOPTdcBgCKuhl*!(Gtn3qpPv+Z&_6fMhY&VAZ~j5TJoVmPZs^h*S{pI5{yXA^G+GuH71b1~ z4B#m`wiZKHVa<)Z&nGn8EH+Feet)~9itvo|tXlUp4#Lc>E!0>Ji9buS*i5Ldo{(0o z9@ovL_2PmfHcLp8rvR-&(X!m06R}9$8-K$I!9^@oXWW#DUzMB%hu<@55z0q8Pk<52 z3HInXFc6udE(M7rDH43J$k;90rbmtR zPE&ZQ88(NrYYj|#`~H01Lbge*njZ~~^H)=^q(@n=X{KVu47d_4wqm?yl5f4J?wcrp zkN%odmGKDm>FjRS_miHm?&+G3fOuQaJdgdCO~FGNgSovC?G8#O+xp0#XX;jC&q#^R%@9J1^= zTE~)vl*+x!wXY;yDmwqUv|ZIK_B;wxz7?wGYq**jKDzqbqc%Ktjleo^j4&KYf^d)) zmpMQD(j%}%kZ3QgDWNUsNwX;fUfB1%M;RY13Jt>QRfklq!k4WLlIGvHD2HqXyZI=2 zmZximwR+^44z{koCeE`T){{nSq`%?I4V75Fkl?JWlhoVoe^rBS35HpRz5ao9}6!>1A1Fc55rTjH6oB z=#4T*X}e!o-StSI5&liGxnB;1 zs)(a|y;4IaOs^CKbm5qCP5H!)VnF>u`I0B;nV@N}4GG9bQJK z3^%h*RsNeZsYR9Ghs6&;n;{Q0FW>|=NDX)?oV5)udl!w%RPQ%S72C{uZMmX`@neWh z9&pZSi}9RId4>H_m5O+iP-UK65*No^D{g5sTCEtjRb#9uLTK}L4DqS4T^%>{Hq0~h zhzyN51t|K7Po&Dp@!H3rm0^c}32LT8oS5ndSB?Z%()_gnp9{SothXkxN3^->`i0{< zUBSOHS}=<$ZJ~a@FwG&^g*&J{d)}Y!qN|^(7rN`GN%p-F_8LLf-g@q#pTV#))VX)j zdi`*~FA>7kBZ3<_9>yFF6vdFJuzrK-{N8IAYy(bgqJj8uee%rLHj)_Dsy?WQku80 z2e~M8ETeN}NhmTyZ(3paACE|hw8(!JdkPFfmx?wa@tSN7@b)M%?TzzY)|dqYjP)Rr zi6Ai7kShMf(4c{uK6$yG+6xz@>uGP!vr^6D7t}d z$)lG^ow3T%9$uqwW;Cp?Kh!*(73S~~h0Br4@@;dN%JS>*`f8+~1EpbA64^ zBRn**ORDY^aK$}3&Ye+Qk;j{B&E4}uHU-xyo6OzoIt7}%lsIyp82LfA+v7s>HmdQ8 zNuRU4EMpd44;V~Ghgt`f7L*oN?X8sb4Y*vcFR5^<=%&$?cgSka$dR1e;L$L*Hma{A zSs>RFJJyCEC{US+U|H9#4;b+Jq$LPb6uSqE3=y$uB+R z5DWv~8je;FF!EX(poj<~6w=8z#P|2Q>9V_V4Qw`Bs_IL7Vk??6ZTgWFR-kvMn}fsN4;&kL@YH5zz?xydVUSo3OGxkF@y z-kePBiKDIY$6u#_N84pb9eOOmnj5>o?#3%n_~m(&=TAfkBW?9Y4bf1#ZvP7w?&YvL z)^o1zJU&~5$D%^0?jR`lr;2W@j5_x;Ln1c>IFs&QHyCSq^NerY>k^-?<5lROJWF~vpOEg(Q%VpUV z7lwJdjaK{?OKkJR8+aX)ctCQ-reTpWX|@e>Tt$_BeAqJda<#0{W^}60!F|Z~i%wrK zw!K$L`O26a?cyivS-Gvrq!0I1xSyryy)KI_F;JhYnXTHd61SN9b)lFob(bH^yChC7=g9ld|K=Wx*z9>T?nls9RK94mX=1$+}zVnyjg4U%TM0Qm>rbN zax>4|d|jP-=(%3@l&9er3VJn$af!oA@rmbQbgsWX-T&oloi#V{CfDLsJBP4kPm_~u zzuTK!cnZT!E804)TQST13u(e|#34gsmEMwRnOVc!t@i<+AQWG0kKME^U*ibFs&}<% zh<=RwE8NoX6rc0`)dT1%ivrvJxgFyyiLKyD@zv?(s{V;iyaqxOG?{`3!eC?$$sINA zSw@h+UEWMjgYX7{SKm>KV1S8n=-^VsT4H$iNZ;C0Q6EVVgB)2)gE4FJ!;AWy)LW-| zy?Xgp8sfSnA~vCC3EIS>D9+vAImraNVy|N-eq0lNf!-xhedrFB3-!H9E5Af5CQSBK zN;P!VGAmnLwzkYT??u(B7lT#R`1uL38C;TF{;x7&lu5R5#+>hQr(eWccE!ux$Z?pB z@4p;sL=N6VX)?B#9)>S!1w*}_;OlW zY3t!{{MoH4@WXJ(=~6RhE~R7mMWb>-CC+`IBXFc_H@pjpc?@3|42Q)KRFB^~@}s^S zYbfK94zEeGv#omWFLz$zt!Aa~{dg}?^9Cu?kX+OhHGydHHkjQt&aWPp&pZy=5;v_e z2&_17EMIkYw)~UD+1(8F`+P1XTb;80AhsrGljGYFeV=k` z+ZW%3&_*w1pWeAiY82fSTWLO8V%oHA81M7Xrt}ej2DhjB+cyl&KexuiW@omHT7Tsl zb*_$&Ht)~Bj%agz+Uh%G8>qA(BZ>Iw9VXIg)|B0n*^DMhG>lp0*T_LH zxXn~EHExKIXbtf;t>40y9>3tYrTqETuy>J)=WKcN$^AvE1zl2&_Dc7R&rsP|bCzSC zUK@kBn11Jbx<`@H2hlHAnvtwd`(?;5ec@UZDFo`)`^brj*a60>8+$}?2O>j`hMS== znv4iTY|d~IBQDKI*&L(5eJ&j{f@aTd=vz_l$Dnph?cvELQwSsFm@YEDFD=NXAuupt zS`F{uFVl15gvr(vjpchr>PZ}19MK!yT?v0)T@x21`^I**O3aW@#@%K0+p|se?2_i@EKpfzt1#%kXAlkgPj`gWbt9P1<$8-ZNU(-!=G&erBLe_%dv4O)w_up`Z6 zT77{Vw=JO$LqmRL`sE%s5!4YB4F}nCoBK1ZNyi!8T?Z=_9U8+u`#-e)xf)~Kt{~Bh zmEnp8p-svJHtPXyjh-@ST$dp@33@o0GJ;NoquJq&86SigCxKPw_}aWe%^}mu60+2= ze2Jhlji6Rc%PmoBOVoW>E-)m78i#!57q%X8E;H_dnGP@;q`^eq$EAszm;EGMcQ-Pt zoKrjq%T{(OIfmaDgI7N(YD{rja+S>v%nibRO!;a;=@{{|B0j~-E+AFUDqqADuW1c+ zF_tdBSf(Y-KT`;O3Bzcu#qx9DEI~{76u|j}tsf?~t+6$yC;py0Oie2Z<0$59iwjO= z)%~c+yoY3Lwwgn?&iej9QhBY>)hj$}@O{x1z57$9NH?1AtmowhetUy%J-Z$WMtY5V z#>&hoRmN;{oa0WlpKGjceMvRQo(?Wk9DPrlRU%|n>SbMX^n6&jz(KFw%sf?6i9Z!Q z-Jr@sf*Z65(0r{L>QA|p-`<^HK~*AjHj;>kSIg`#uMeq=5R?uHEI+=z8vt#+=)9mX_AU21dzrbu4RR?_5pk zL9e1XYR~7#NoPd8wJ!<3X}ISjzU(+J?U*rXG8J5>wd-n|YvbHJlPP{^_>M-tgvs;1{v5d+Inzg`S?%>Lsk!!!b)QkXICaSy%Ym7#->o-sYAYI?5r;%hE=YwTv5NyQKUT2f!D6tuWs-Jr( z8Z-gUAykMRPxl)rPjh>$%iHXJ?R)}n`-H5Az-EgWdsGRbvj}ZZ zbUGX1CT@mUfQErL5-^dt;Px))1|RhxM`#ofsW(!n+MB*nUgW+xi#d7Nyth{z=u+x& zEvValh{TxJ-*c&xWVB8%EZ!X@fp(Z-R9EsWaBqygCuNH+OMWk_LQ89V*D|dlvBZGw zwT({dpt3=>jHf}Y0T;qNO*qy;m~#i-$*EPq8!!0Q`WQ#wAl^G~HlWRzJdCcHP)(C( z5ND~foT-tNQj^aPZ+$AjkWiyr)L2=AhWd2z2!>cOUb(>Hm!0=$Bs*QSDO-^Ko#P49 zGE?Sbu7yt>zGgmkJX@hHzhQ>bD>8id@V$i@ic?ySj-^TpF=Sw5;Es-W-}JKsPBAg z_~9NQAAtexkdiP@#q8KGbqoiXq_HbGFq8A*L9d=0>6ib)yy~BE$aV`~{D6nV4@`SA zYBO71{yk)8QK2%G)0DDemy;qQx^0eHsN)Wr4#*OpN6f_d7^iY)dm9#(ZcyW&85>Aj z=SWnXZJ)RtRRHRPHC)Y0gfH<4;Ucz1kE7`m!5$ZnT^sHZ#`2YNtJ7^VvW#E{Mo6sP zShG)G$%2T6CUZVr@~(y4JvZt;=kzn-qLf}w6S8I`NhZEzwtBF#%XQ?uss;21C!NyZ;oTrTbG{BIKrbl3S-%Ix6 zd8zD;Eeqh&Z*SlK@#-0Ts!D9ad_YsrDrH;5?0#OA`AKHwWIWPm5+~}uzf&Kzglsz5 z*Awo1iAx`ZGHR+L=&&+_M5=EL8uLekYfOquU8;G+;R^^XwUQicQhcbWvbl2mJo}`TsOt1zF;<_`rNUUSCF}_sN@b~a4~x0S*!IwF=L|lU>9LDO@G_>9}P+<4?gU9DN%#sGZB0~ML z;%hi=p@QC$Qgyht?5RaDubaW+uBwlz`nv4m#!0YJXv_8ploKcamIbsumFtD#59F~! z4G30@ex0O3L8vt@(mSlmgCBxR#v41qy&Y$QVYJ>(G{mP}SI}QICA`B;($Zqr8xneC z8gapR4MsN4H70N`Do_8MoC`=P!rMc%QmPDW416p{^w*x4o8@P#>KkMx54P-Is%lZ> zRI8Rt6>t4jt5Ck2*>hrLrT=DWMPu2%vn|xUHQ)VV7sCcJj>I|B1z9JmIbOLwQ#N}@ z(>43k2WdC=vkqz1gJn!ow*>ufcpTmm3r!*TZ9-XhJ4TWb!J7>nd)#X&AmH zj(ZPw%vV)Ak_OIdPTkPugChQ45JuwRWD>czj_ zLs4zOiCm*THk`$F29Oq!7_%0QzQ1;k?d#>f;W>f(>xk{DI}#g#w%@-z8~3T>_~AS5 z?5VK-!{=*`ME7)erVpXs+h~&0^n2?8gYQqLiF0G)yQK}GJc7$UUyEjP%xxBvcVzhP zv^i5qT#?8=lK$p%0P5no5+>KKH#f2$sDxPg<@h(S?)k@TsAb+F?mG*jOjF8Cb(y;l z#IE#fo&<+t?F*dwbX0Vu{gw>uS4vC7CVY*SgxJLtYY>esTfKd2%^x_6njvXFiWZam zGgkXH)_6Rin8K)ee$m(QgU81x#(k_CT8h)S9VY=vASeZGO>15t&FXI2VD3I=BnW9j z=9_zC>_mnk=XW^C9j4W#ylee8F9+1vFPhaDFWQ% z@6*Q?d(Pe;hs2~B34)cwD((H8RpPJ8#<|S{Vs39(-QN!QoF!z&Tmf}gF#vCkEOw`| zHVELG;eAG$((p&ej^N3Qh?>wmi;KXz3_|EhYEd7Gnni{i76tk=sU5?oXNHbpWKk^e zH(!frdejL3^$yY!WTkHv#yhK%;i>J_M=zOnR$5_4vi>K}U_ZCziV z3wF<$D>FZMb0s0rn04}Udzz(U-0GjR8eVO~rJ~bW zym~HSb&Kn8y+b5nYx6ztf_`=Z9_wNaoa;`UtVuA^1vU#upw1fP(jPq45>ULF{W*e}rSD2btXc>KsWml#Rnl7U%VSBbSRhIO@W21cc z*1)E}f`>((ap1sAofVtwFHdum-296oqBGG}DOs0t#7~I!P8U|*ck-m<$=S$=uHO1( zFVW_wp(3v7+p@pm`m1VqVava#Kq0iJ(PYgV-5g}pn&BjTc_^^uWkzP|a`%Bpb4!Ph za*2TvYGV7#Rf6BfH3G?LKc59BTzc^uP^)f5B+2_D;UVn(iUPH4PNX;rNPIZk)7rAorWF zM+O~O=mVdNoio!iv>s7380rx}deY2V(^?-aE?g)+u0fL%L5^d^Gz@U|aOLU27~ps` z<2J%NF38`)tF+x;6Xi3cd-?c@k-lj8=OTeJ@yr~o_(Y&pXN@7>Q2!}`^+GO7P?*lqbQ{s)l?I#lBRwSwYwc?q`yAVsA!3IXF-k{4Yq~!GHt8v9S71L9nF1TZuC7s zZO<3+Mk(N2HuN5;yJKC3bL8xBE^j-iiqTTH?OI-XDSzC-G@?BIH>Tb@p6#`dAMQCl zT}HK4)To@EQhU`_mDBb{MI|+o*eR-nqIM9{W7euuqgpF9A|gobnyGzI)GlfyirPs_ zq!Q`#JXX$`xf@exvPe+M=jnV*C#_x8+RNZAU3&z3I!uF}4 z;){o@YC>3)`WWCU5XSiXsPJz574Wz>UM)p0?Z$h$dKl%LM;0N0`1(QFQuRc@JrVm) zQl%pDw~M=7<~jgOuRyw0p%t!t4J5tk`tq7y4*pheSg8aC8*_D#Jl_4_`s0RFgGFQy z?7T^-cT%i|T}G;zb*!R-YqiM6I7vk9AyfM;g8&v#y%ocx;eUn)|DH~Rn-hZ5+}JH?s>R^Ip5$X|dj z3B183fCaXvf1rMGN&_~tGSUGzn3NytTxy%@iF8`G`FU(iCNdb!RO(u|!QQ5W;*F%4 zB5_A+fOtS?U0RX-qWIH-_jxY^-Ng25GaCq$VBOqYz79`Cbkpc;HM6&o!oJb1qnoW$ z%}%4?lDB=fjYbKJjmxPfr8?2+M0uJ*^Fb!+de3xhnH32#?yEtJ$9$U1viHq0L&lVR zCQT4v14Puu%p+}MMBL-fN&&^Zu*;{Oc1_r}Iw^k4Iwfb{U{C;e5ONSoBr2+Rxvslj z)pK>ZI$h=S&$oNYuOEFVF1vw}3_E`GcdbJHHc`jlNyyDeK@5=xHXkltZ&V8R z-1YS(d*CujmmNzg<#uId6$7AF5S7`{=G6JUB*!TS&1KZgg&E>eA$X~H)JMjcP%sr^uZnguTUZa?*&3T~bFPlS|BbIHttEN> zJO+3!dR0tKa`alw{5g+-A>l4om!{N`uWLD_HHW*z9^vt!IQQA8&QSZF_$K78fbPrf*1krHT1AizbxvN)C2qSxDjjts@+E3hi&mf_ zik-n~GL!N)8D6@LQ|?;o`?ZGPspXNl;yZ#4lBelt7sZJVm+Kq074A|u!?(xd6{|$E zJRdAAD@^u4v*fMGRuwL4g$!J=nD$3yUDagAB+Z;M;?f!(eP(h~KNTd`IZBzCpBLFg; zwd~na^{{yG(g55wJ=q_=O|&{6yQWZ%?&Y(pK{_sMAds24Ej1Z6zAQ7I4A$VNyw#ZV zA7HU?JVUmKUwsMNgQNZbQcb*bY|yOUJ&Kt9ccqml})rQL2*@)lf7G_?CI zM5kS*#tckTVwlFap1~XhIN00H+8*J5nI=4o_p!>qYhx}9P1rfgO)(-FA}*B3T4mW+ z=X<)Axw_bCn-CQGK1~#hcML~O3TQFv);kIM)+B?A-h=t}*0#@@_a0@$%JwVYw7(wr zd0ExNO4vWg{NMuhPo4jN=r%HCt1yZ?@R#>+Y$b39?wM$6Fb$lDudhm@`MBP7t;x7Q zUN`|DYQX#L(^l0~)L%BUIBSPV?rM&m3O|Uiw^LD-8Rgz0uICVH_;YRZafbAFfsa0g zdJdVMxK%c+=x_a8?Yy3O77^_Xk}&K1+&_P%5_^-@md8pX2<-8L5<%R z#M!)XFn!lBY4&`e_X~yPK3~Z(h_87Uy*&65oIZTno~_*b{Bj`jYz($LvYtQ03fS&CsHoo^Y zIC+ohu{AJdZ_z&y*G>wd)~CH6_aQo7miT!LGWDBo?Qad4>-MF&q{mt9T{w^66-U#R zwdd*mfr+jf!kr)OoF8nulA8HSCDJ<)!5SAA6raoS5ly5f|6uB2jn8^gd`v2hJk23m z^Ij7qMU8HQ`YRSLYujN;P5q{yMm`N^`Pw&r$*v(mD@%UJov}CH!m+PrZ~Z*B>^JlC z7)zhw8^e@{a7dG8bGmtI>_YlKdk5okV}Qt!YaJ<=HB2mCV24^$8TG6ebkDlGSho^K zHsmI_%M`}syHzy%dG62Ib|QDZQ)?aG@BaFJYWT(4)?n<&nS@I5?;i)@ikGCyGf0Sv zO}a|vgST)|)z&rVa*{YayqJ>YWM~vDRg*)MO@C144qt&5WqQ%q4eFVxw?QqX>u%NB zjBkaYkh7V2J_`4aO4?uElDEq?;WL}n_!s)`de;yCHbb6{i-(=7y z!_r4zXTmyQo;VmX8(uoq(8jeJNtfvN4pyO56wH5_zHTqCvXx)*^Vm}%wwh31o0|zU zblZ<%YMMx>nFbhyLfl!NJSM&i5wF*JlT!K@fIO`pMen7Zb!aD-dW%M>)JMvsor95k zyj7D+2SqE3Z){A5Dr&LynDvDzbfe4vWW9*Ta&0kh$`~v){Yn#U1X$8ku5&DtY?5zF%d4Kr(l56r zUMt#I(M(xKq)fMo$(vNTpbpKBo(8e04`J-9)c3ga9fFO|zc4^sZ+;$=ULNNGvi;K( zuFNz~hrz06PIA=`7n;J#=hho%+bij-3~u|CiO{*Bh~FmxN?iH(T#oeFJZFPThDN#? z-4S=Ky2kn*iDaVt2lDL8C+6ow=BkVur zTv9fO&HQ76AaGOX^U8@63U!}}{g(n&eQk*%Tp&uJLt}@h^sit)uCE6e@cv*lWGtah zaGimb_6DW3YcO}yv;fNY(}uHfOt-Yibd=0z@8-T#!$8{54J$@=j8?w%8r?Kexw2=q zG`UDf6jM6xG|tudb)9;%dxD|OG`yPm5r-P8bqqlo(+C0=(W6}}uRcISU%M@zp%I^v zUb%g}UB!2v=nSK-4=uW_s=!5cUNc#UKT;rosmG8hRU=gEdWcitmU$hr^xk4v5H!*at$h&fw6CC%3T{Ox+%y?onyfwXcV(xfINx9aAl?{a3bi zuYnKmbro0Y=v5tOTgaTT@WP{Tqao)Sk#;kXl{|?R@!-I)R^x`|OVpEG)F{Q!pK-v7 zVvmT{%WX9=zNwx4dF=L=rpMPmOS!K1>gDvqd-`QRY}|M^7GRy@-_`3pAXW1v!@4{@ z%dQDyA(U-m3@uT(!FIc`$vv)hf((lnCM_aPxW{|mqc5utb9~J#(^pXr8 z=d%Nc_IbYhqr0Q)t3WZNfx=Xe2}Z{@O3TK9x+x_{bDn4gIa zsULpuL$No|DrkK;z@K<#0$)Qw6h)KNJhY)Y<3gt^jLV&@Sny)RljyRga;tp3!E~s4 zO|GZi$GLDR`+fM|ZnMpw8&Ok^w;yo@?;s=IxhgTlfmux?~xm!ukK z9e=h}r5Jmg>6}X!dWH-+$JV5Q{=!~aQjzQ`5PweZ>ud%mU{BF5tKA2tMai%AgPSQ| zHe>~E8e}oEypWY!D|$V2xoxJl*X^WKy^Xo@Wk}L$ibC&2H(%Sb!_4CSR@1tmGD{-l zqJm-&+Pc_6@gn+T%4dZtI~#wZII>b{l42k1FG94hTS4GHfVRm?m(A&NPjO4-!0QVr zCiEu^H32u${?RMyBcVBAnpl_LIm~hAHm2@VLphEV*M*7dtn@IS!b4*~I6+in{{!SqKO5q8sy0@4C z>4i$giDh{k%JVK)|K}HS-mE0p6sHD2q^B@CBnQnGr+t?YnhlIF z3V)}VEGT)aiGxI(3zBfG?p6%Ue3S06rvOyRK<4Rx>nGq^azBbEP`txsU&b+oI(R~p ztrlfN6<)LWF2ElT;1GrpOR$9OVwJSwb{x2vK@<=*Dpfmgh;WhseHT2+dY1WZ#>G#q+?-!o#=}Z$ zSwD0&ptSl&bRon>eaGL{bH0DFiz5MzSF}!#AshOLNj+T6jI1CxCog1H9w3MT;%U5Zl7A{s2mg5gMW4i+L~k5b~;PMuN1NqIsEH7M*2)u5*^HM#|F_n zHl(x@So)6@`y<$-f%+ATaeNI`_Trqcb!@SieO_IfieIqSkF~kz64F>eJplprGuKLA zNoxO=nvvLBRU3L~K>Eq-=wYaWQHa+ZysTxBP40yn0jPBL|}>9C8= zn5%UBFw;nQQ~z;!k8|l+ujYEAux8)u1baoZ@7B>Nli}$H#a{fc?E<^-!e=oih$-Qe zhL&2i87ioKqB)}Z05zz_l??lNOu>&`|MS?RCZ_4nV+hmE0q&q205MrB10e6*?eL22ggVeibFBB zDX-SLkN24|Umt)@0tpgKCr$y#`scA!bcfe~pGZ1m8G?l54!#RLnX$OY8qprxF?^n6 zK5Ni#-L6XBVy7h@9Mp2xo&2g?oLHNK?ML#NO8{RvYp@R}y9ccYp_(U)Rj++&O z9lbULAKy6XKmjab20Mw7M65SZtYmW9i%T$KJ@_+J4+~w^96OQ0TBgf40zZZ|WIRvy zr-4AQG7R|rg5HsC{G`;hcGpBFlyL8wG{kvEuM>VHtA8xj{zZ`IxNp0@ti3G;qW2s< zO^}6R_jpi@-Tj`?F35S}mUTCraMpZ`WOutfHa82Bo(|0=i4V?Mll6OR;(~2>d7Jyi zt^cP}em~&xg)v3dVgStG=59~ZUU5|yqlNYSD315XP>~>H&cxsYKwvddJ=BEF2!hW0 z&La?mXmtEXFQg}H$|!V}h)9w<^AEAHwcaXzEISaHbO3Og42IIrpl@x+3qJ>@jexKE%%rS-?D zk4I+Jkdv)&dTQYEsorhTJ|y#HZQ0x)4SZpc7R(Gy*|#w5$hm+CHBY-GagZFPgu(an zWNJs%wz=Y>+Cw?3X*_$*F# zXR^?wUgCbf>9)JcMg0{$dD&GDj6BW%Vp&Ju%sW|75_+7Ve`ii%NWlzF5+8u5+}32h zSSkInM2)~Y7`_-HS-7!Wf+eouiwT`hHY%W7T?BK1Ww;`BM4w`zhq9JT#4_dwSSEc4Oe&+DdlshS`l9*ts|5u5#j#qEdY8 zIzgdA`%-fj;j~S@9^?s;uXZJG;$hLwSOE1OQ1#6saNh`9!7wH$S!kQEbXROB>`@4S zU_^&RyzZcr`KcbIw~6q0XnK2GsT%6^>u?ThO@ zWgYURX=7=kpO2D;CEXPTEAu=Jw!aeupKKtHU9f$Y`+LgP{nNc$4|gyBaKx)-j}45j zOfC!~(YUbsX2-_5qRh-pq)rQXXW#&dZEgR)>8_+T@(=KVIY7p-#taHPebqdz4kO9> z3j9Oan1vygeL?#^iRZN(Ow_FO$?={&op$Hfl=Yggv%4wI7Mhmn8%ip!i+@fT7cI=9 z8((r?w>nm9x&8?Ae85N#2--l+!h}q;9Nj%fGkpYZllhzfUhQhR1=(FpHHD-?oz3Z< z4?GpXF1r1ur(!6`dAzn);Oa}snW>fNd~n6+DrrbtXf!{Dvj7Wp_5ZKN61C-Infn!&5%oUGzq9<7H7Zj94K zF?%=>OsHkfx3KzzhUz`8GHasj(K~&j0Y=_^Z$Za-a`J-)CTXTrS2C$`WC*HFKnh

    8O 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 q;!hPynH*awO8Dk2TK9jM - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(30, 20, 0, 0, 0);
    -vertex(30, 75, 0, 1, 1);
    -vertex(50, 20, 0, 1, 0);
    -vertex(50, 75, 0, 0, 0);
    -
    -vertex(65, 20, 0, 0, 0);
    -vertex(65, 75, 0, 1, 0); 
    -vertex(85, 20, 0, 1, 1);
    -vertex(85, 75, 0, 0, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(130, 20, 0, 1, 1);
    -vertex(130, 75, 0, 1, 0);
    -vertex(150, 20, 0, 0, 0);
    -vertex(150, 75, 0, 0, 1);
    -vertex(165, 20, 0, 1, 0);
    -vertex(165, 75, 0, 1, 1);
    -vertex(185, 20, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(230, 20, 0, 1, 1); 
    -vertex(230, 75, 0, 0, 0);
    -vertex(250, 20, 0, 0, 1);
    -vertex(250, 75, 0, 1, 0);
    -vertex(265, 20, 0, 1, 1);
    -vertex(285, 20, 0, 0, 1);
    -vertex(285, 75, 0, 0, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(330, 20, 0, 0, 0);
    -vertex(330, 75, 0, 0, 1);
    -vertex(350, 20, 0, 1, 0);
    -vertex(365, 20, 0, 0, 1);
    -vertex(365, 75, 0, 1, 1);
    -vertex(385, 20, 0, 0, 0);
    -vertex(385, 75, 0, 1, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(430, 20, 0, 0, 0);
    -vertex(450, 20, 0, 1, 1);
    -vertex(450, 75, 0, 1, 1);
    -vertex(465, 20, 0, 0, 1);
    -vertex(465, 75, 0, 1, 0);
    -vertex(485, 20, 0, 1, 1);
    -vertex(485, 75, 0, 1, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(30, 120, 0, 0, 1); 
    -vertex(30, 175, 0, 1, 0);
    -vertex(50, 120, 0, 1, 1);
    -vertex(50, 175, 0, 0, 1);
    -vertex(65, 120, 0, 1, 0);
    -vertex(65, 175, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(130, 120, 0, 0, 0);
    -vertex(130, 175, 0, 0, 1);
    -vertex(150, 120, 0, 1, 0);
    -vertex(150, 175, 0, 1, 1);
    -vertex(165, 120, 0, 1, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(230, 120, 0, 1, 0);
    -vertex(230, 175, 0, 1, 1);
    -vertex(250, 120, 0, 1, 0);
    -vertex(250, 175, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(330, 120, 0, 1, 1);
    -vertex(330, 175, 0, 0, 1);
    -vertex(350, 120, 0, 1, 0);
    -endShape();
    -
    -beginShape(QUAD_STRIP); 
    -texture(img);
    -vertex(430, 120, 0, 0, 0);
    -vertex(430, 175, 0, 1, 1);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/quad_strip/quad_strip.pjs b/examples/seneca/bug650/tests/quad_strip/quad_strip.pjs deleted file mode 100644 index c3a5dbee9..000000000 --- a/examples/seneca/bug650/tests/quad_strip/quad_strip.pjs +++ /dev/null @@ -1,106 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); - -beginShape(QUAD_STRIP); -texture(img); -vertex(30, 20, 0, 0, 0); -vertex(30, 75, 0, 1, 1); -vertex(50, 20, 0, 1, 0); -vertex(50, 75, 0, 0, 0); - -vertex(65, 20, 0, 0, 0); -vertex(65, 75, 0, 1, 0); -vertex(85, 20, 0, 1, 1); -vertex(85, 75, 0, 0, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(130, 20, 0, 1, 1); -vertex(130, 75, 0, 1, 0); -vertex(150, 20, 0, 0, 0); -vertex(150, 75, 0, 0, 1); -vertex(165, 20, 0, 1, 0); -vertex(165, 75, 0, 1, 1); -vertex(185, 20, 0, 0, 1); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(230, 20, 0, 1, 1); -vertex(230, 75, 0, 0, 0); -vertex(250, 20, 0, 0, 1); -vertex(250, 75, 0, 1, 0); -vertex(265, 20, 0, 1, 1); -vertex(285, 20, 0, 0, 1); -vertex(285, 75, 0, 0, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(330, 20, 0, 0, 0); -vertex(330, 75, 0, 0, 1); -vertex(350, 20, 0, 1, 0); -vertex(365, 20, 0, 0, 1); -vertex(365, 75, 0, 1, 1); -vertex(385, 20, 0, 0, 0); -vertex(385, 75, 0, 1, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(430, 20, 0, 0, 0); -vertex(450, 20, 0, 1, 1); -vertex(450, 75, 0, 1, 1); -vertex(465, 20, 0, 0, 1); -vertex(465, 75, 0, 1, 0); -vertex(485, 20, 0, 1, 1); -vertex(485, 75, 0, 1, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(30, 120, 0, 0, 1); -vertex(30, 175, 0, 1, 0); -vertex(50, 120, 0, 1, 1); -vertex(50, 175, 0, 0, 1); -vertex(65, 120, 0, 1, 0); -vertex(65, 175, 0, 0, 1); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(130, 120, 0, 0, 0); -vertex(130, 175, 0, 0, 1); -vertex(150, 120, 0, 1, 0); -vertex(150, 175, 0, 1, 1); -vertex(165, 120, 0, 1, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(230, 120, 0, 1, 0); -vertex(230, 175, 0, 1, 1); -vertex(250, 120, 0, 1, 0); -vertex(250, 175, 0, 0, 1); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(330, 120, 0, 1, 1); -vertex(330, 175, 0, 0, 1); -vertex(350, 120, 0, 1, 0); -endShape(); - -beginShape(QUAD_STRIP); -texture(img); -vertex(430, 120, 0, 0, 0); -vertex(430, 175, 0, 1, 1); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/quads/berlin-1.jpg b/examples/seneca/bug650/tests/quads/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/quads/p5_result.jpg b/examples/seneca/bug650/tests/quads/p5_result.jpg deleted file mode 100644 index aa83800650cbfca26311eb8cbdd19e791b61d258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62599 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≻*L|`<#$zsB$D%0%%p1nd}Y7oU;0o&ktuuKFn>KvpJD&5UK>c=oR3ZG0Eki z&x2-+bnfwq1aC>C4rDmTG_bAMN5?J?pdn6DB!FXlJyN#_&V>5(#w!8!D0iWRipG}E z6B=Uwlo8FtGNnE7I$x!5;qbVOPH4ug?gW_(+X1~De8K_@7D(}+UYoT9)3FuE`q_@E zxpJjp6T%!UzMI}s-^ntX#oS`BsdK^*01kLaj>p=H6l*o#k6LZw0NV)r_!xX}U{U8u zUN=_3fUAFeO^XG|*LtfMRp{KBqR)QC2ASSy@{f6)y}%y1eN5aj;~DVTWqC=YGXphb zei`sbQe>&ziEAKV8VpvjVS7+ad4>RkWS7Vq`@x0`ES7-k321owYpuW_$!G0gzXCyu zX*yt5m2=5+HtE11iPHho;yoH@VSV=S*JDI8ZtLfPF4AonbOpVJfyojA>RJ2+_QbhA zU7c>4a{cvg;IdRu!4;kXM$A!Q>iox_4Te1%KQA_x9u4|Ojj2w5uC~FStBquSCt*@F z27fKK6_i#ll(xvL#Mo8gGc~L)z+y90j>0n7`C079n?QPWgO!$lf0%vrVSL-%>VhPL ciL!qZSN_si{{QXo2a*2(aQ=_i<&WO~0no<4(*OVf diff --git a/examples/seneca/bug650/tests/quads/quads.html b/examples/seneca/bug650/tests/quads/quads.html deleted file mode 100644 index 0671cd5bb..000000000 --- a/examples/seneca/bug650/tests/quads/quads.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(30, 20, 0, 0, 0);
    -vertex(30, 75, 0, 0, 1);
    -vertex(50, 75, 0, 1, 1);
    -vertex(50, 20, 0, 1, 0);
    -vertex(65, 20, 0, 0, 0);
    -vertex(65, 75, 0, 1, 0);
    -vertex(85, 75, 0, 1, 1);
    -vertex(85, 20, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(130, 20, 0, 0, 0);
    -vertex(130, 75, 0, 0, 1);
    -vertex(150, 75, 0, 0, 1);
    -vertex(150, 20, 0, 1, 1);
    -vertex(165, 20, 0, 1, 0);
    -vertex(165, 75, 0, 1, 0);
    -vertex(185, 75, 0, 0, 0);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(230, 20, 0, 1, 1);
    -vertex(230, 75, 0, 1, 0);
    -vertex(250, 75, 0, 0, 1);
    -vertex(250, 20, 0, 0, 0);
    -vertex(265, 20, 0, 0, 1);
    -vertex(285, 75, 0, 1, 0);
    -vertex(285, 20, 0, 1, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(330, 20, 0, 0, 0);
    -vertex(330, 75, 0, 0, 1);
    -vertex(350, 75, 0, 1, 1);
    -vertex(365, 20, 0, 1, 0);
    -vertex(365, 75, 0, 0, 1);
    -vertex(385, 75, 0, 0, 0);
    -vertex(385, 20, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(430, 20, 0, 0, 0);
    -vertex(450, 75, 0, 0, 1);
    -vertex(450, 20, 0, 1, 1);
    -vertex(465, 20, 0, 1, 0);
    -vertex(465, 75, 0, 0, 1);
    -vertex(485, 75, 0, 1, 1);
    -vertex(485, 20, 0, 0, 0);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(30, 120, 0, 1, 1);
    -vertex(30, 175, 0, 1, 0);
    -vertex(50, 175, 0, 0, 1);
    -vertex(50, 120, 0, 1, 1);
    -vertex(65, 120, 0, 0, 1);
    -vertex(65, 175, 0, 0, 0);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(130, 120, 0, 0, 0);
    -vertex(130, 175, 0, 0, 1);
    -vertex(150, 175, 0, 1, 0);
    -vertex(150, 120, 0, 1, 1);
    -vertex(165, 120, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(230, 120, 0, 1, 1);
    -vertex(230, 175, 0, 1, 0);
    -vertex(250, 175, 0, 0, 1);
    -vertex(250, 120, 0, 1, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(330, 120, 0, 0, 0);
    -vertex(330, 175, 0, 1, 1);
    -vertex(350, 175, 0, 0, 1);
    -endShape();
    -
    -beginShape(QUADS);
    -texture(img);
    -vertex(430, 120, 0, 0, 0);
    -vertex(430, 175, 0, 0, 1);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/quads/quads.pjs b/examples/seneca/bug650/tests/quads/quads.pjs deleted file mode 100644 index 9d7f8418d..000000000 --- a/examples/seneca/bug650/tests/quads/quads.pjs +++ /dev/null @@ -1,105 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); - -beginShape(QUADS); -texture(img); -vertex(30, 20, 0, 0, 0); -vertex(30, 75, 0, 0, 1); -vertex(50, 75, 0, 1, 1); -vertex(50, 20, 0, 1, 0); -vertex(65, 20, 0, 0, 0); -vertex(65, 75, 0, 1, 0); -vertex(85, 75, 0, 1, 1); -vertex(85, 20, 0, 0, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(130, 20); -vertex(130, 75); -vertex(150, 75); -vertex(150, 20); -vertex(165, 20); -vertex(165, 75); -vertex(185, 75); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(230, 20, 0, 1, 1); -vertex(230, 75, 0, 1, 0); -vertex(250, 75, 0, 0, 1); -vertex(250, 20, 0, 0, 0); -vertex(265, 20, 0, 0, 1); -vertex(285, 75, 0, 1, 0); -vertex(285, 20, 0, 1, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(330, 20, 0, 0, 0); -vertex(330, 75, 0, 0, 1); -vertex(350, 75, 0, 1, 1); -vertex(365, 20, 0, 1, 0); -vertex(365, 75, 0, 0, 1); -vertex(385, 75, 0, 0, 0); -vertex(385, 20, 0, 0, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(430, 20, 0, 0, 0); -vertex(450, 75, 0, 0, 1); -vertex(450, 20, 0, 1, 1); -vertex(465, 20, 0, 1, 0); -vertex(465, 75, 0, 0, 1); -vertex(485, 75, 0, 1, 1); -vertex(485, 20, 0, 0, 0); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(30, 120, 0, 1, 1); -vertex(30, 175, 0, 1, 0); -vertex(50, 175, 0, 0, 1); -vertex(50, 120, 0, 1, 1); -vertex(65, 120, 0, 0, 1); -vertex(65, 175, 0, 0, 0); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(130, 120, 0, 0, 0); -vertex(130, 175, 0, 0, 1); -vertex(150, 175, 0, 1, 0); -vertex(150, 120, 0, 1, 1); -vertex(165, 120, 0, 0, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(230, 120, 0, 1, 1); -vertex(230, 175, 0, 1, 0); -vertex(250, 175, 0, 0, 1); -vertex(250, 120, 0, 1, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(330, 120, 0, 0, 0); -vertex(330, 175, 0, 1, 1); -vertex(350, 175, 0, 0, 1); -endShape(); - -beginShape(QUADS); -texture(img); -vertex(430, 120, 0, 0, 0); -vertex(430, 175, 0, 0, 1); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/triangle_fan/berlin-1.jpg b/examples/seneca/bug650/tests/triangle_fan/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/triangle_fan/p5_result.jpg b/examples/seneca/bug650/tests/triangle_fan/p5_result.jpg deleted file mode 100644 index 57c07d4b8ec92c03da95035a3ecddf06669a6e0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63166 zcmeFZcUV+SmoK^rf&?XJq?Md=wxJaS1Oy}t2#82%kenKAXcfsxvJypd5|t=XvPhCF zpg=bwS-J(Gg{J##eZO~RzL_)k-shhC%pZ4VBh+uNUA3xKr4_0kNuNl|0HcAfzAivU zMh093e*hAONm5^1+wr=YiLU-N9q--HH+w;`(00lq` z&;Zncij#AI@8#>)uYp%DU)z}XALPXK^i)62^TDQH`h#T|@gNrb-7jDY zKDWSMrCyMa_`lM8QUIV1ZO`maUy-qo1-L56|K$QbbFDt@Z#uNP(t4&>{q$1}8Vx^PJ2vJuQNM0u8fKPj-fA&#d1QU=#uXbM z+ZT3I_NN>a9q-&qaq7DL;|{-zrE9WVultF|MNib-4)0SwCcb%o-vhJ*GlH-omk_r@ z@80vjABv0!iwciN#XU%P82ug%34D4~ET0ghuv9 zJH}!@nvQdgVq&7!AH$7jx5cv7Z7q%}Oi!DpZ%g$(J%o)t) zO83`{RhMsa-;UP?*V8wgHhQD%O$HqmebAYGhA<|8`4Kq&-t1$X;#>&sCZ2ESsQ5%7 zSI^(M@Q}Yypil6tFqMd?sIHigc$!4BIOI zG?X;2!fsshz8s;Isa<)cU1v-et@lHp%7D{Q?3%ifzOl85$Mq1?$7ZSKg%+ilH z$ZZ5{we6g4KC~}z=x|)RMY?^#+2D?kOO|Vo+diD%!_qVHZofB$kG5~PU#~wQkS&Ne z7!o3Y5D68%CwgB5DICTh&W&PuK=Xj`@cX01h>^$5kp)q4(Oxm;vC45Aafk7f2~~-a zNp{H!Pw1a~OL>=?o#vl@Jwqy!K65*3`02}M$=N|UcDdSl68Y=}NxED@Gh^*yZcfPYtLHm+rGqprvat+wC|S&8$Kis-5G|B2#&Ih zQH=fg_+|Y4MEzv$RK&E$jM=Q(CkQzDyYrtGxVCVj zc6lAPp}lFaWww2D$K(6G-DGSz?%j|1y~Cf}2hc-De8jJ+qlx3g6Fwr0botNt^8gM& z51BIAOL9%}uN2vo&Zjh~#Ho2tbJ1|q^3w^@OP-N9E6BjiaLhQ*^b*_+R9SwpHn91# z%d+os)N*=rNpoSj>v)2BFPC;iFL_RDOYJ>={1>hSr0imxu5ba3J(-@mFSeFlyg*^R7F*>YR&4Xi@H!o=)6X; zrZ-IG64|BU%UN2^+Ok)GE2BDjx;}bWuCiWT*KapSH}t%A#fZmf-+0g@ zM)OA&rj~q`SgUU9%o{#7y0#Z=Np?#&-`N*BL^#54U2{^p&Erhwyng3{OSx;5o0Iz` zI0R1eSoZ9?Tj&+#?FsHHDt>(aRQ}%sW&^u}s)L_~JVyA1I^NU2FNY*U_J&1->!2u5 z?;fBYsy_Vjs5-*!G5_N)kx!${qZy({ViIBv;^^W=cV*2>>at06+xPUu?Gk;QAQ=uuucYX*B?{BQ!uJ>f))$Q)5)TR320<)b!N$)UQsTI&F9Q70qcHCz=*oR$4#W5jt_YXu5Codi14dXwKX{ zGkx~T*#-t-hFnHg#&{-5CKS^N^F8JxmisIu)<`y5wiI?A_7Vy(}<-&b){HC5AA*SM$vRn~xM8o+LW z8t#SG@D*|$HQjK%_xj8RriM?hO&N2U+`e98N;EgID6~AZHn>q_b7E(Cv&MnS(eYN( zZ3gGNcY0h^+`8ae9`Em(d(Hd6eewR0;C@yT0!579^FUIBJx5)9fPNJFSUz$&`gLq_ zd_baEvO)@L>T&vfX8Y6pY(%bgzU=eUg-b>CB~fKo6=GG?)jwXYy!!NJqQ1AWyScOF zZCi6k!@D=#wY@d{mG3J)6b=`S=6=kd$eW6riT;#2U;TMvaTm?CqOhv9rne!xN!o7x zZnulZ8U85U!~PUIFgU!8_x|O6WPPkmU?eP_6ce-l>>u=i000Fn0B;}~C6dDwP6t5_-lya1Tlr5*oPZ^%dIJHbA zLlsUnMlC=cME&73|LM@v<1`X9(KIWxTC|090G$(EH@ygb96k2TjWa!GRnNX+5M?N4 z6ksf5y1-P-EXw?nMVaLt>owMSHg~pP>uL_w_lmb2z>y z5IM-y`OpiH3j_SV0^Fbm^9T2+_rk#5VPfK9^WxDG3KGkb2~uiOtJ0Y=mu0ZB zHF6K-9TYSbAxdOQ8_MG<9jaAo&()t^d;(3;NYl)Lm0W7LJgW8e$|)T|-D`RwS4;I* z4Ee6zHYzgyc3r~M&#c{o%+kOr#d_X`-`3l%{wBfUietj9$=h7cE_bS3ncbejSv{WI zW%5e!IqRF`PalvFL=&8hU=7W=FMzBMzl556=o`WK_)U~$^kMAtc#{M|Qq7ZFsoZJf z83|d&&*-yQSA0_*;KbsHr@H0nuj!#aK{*3=Q;0oXYuKi|UiR?6)JedPoJXssrcXB~; z2l9M!422{GisCb+CS~a<=2H((?SZR&h1!vN@${|JXc{+~@3f(G6m-e-=jm(DXrDo! zO=ZwwATl;H1u`oz@3Sl(KZH;HF~x8+;`-y?|odD9D;{89qv z1et_R3E_otA{(MhVqe5(C8i|DrN*QuWF}?5%2O(cC|*_aRE}4vRUK9Paq%ovM#D%G z4vW0>;&Qjv7j2>rx2}fXt*epx%?3Ny#EhJbvrVQ=8O==16D$U;XsoZ?h_vaqJAG5% zKEdJREjB0H+s~c9yJ)$NyZd`Ec(!@D`apc={L=%?f>}f6LUZrm1Z|GR2ZfLBJQj@n z7CjLADn2Lie)5eJ*)*#3(aemeR@u}!EqQJQXP>`$VOF$T5>v)kUSDZb%~rEmTmCw* zPNM;69BfW*x!%Uy{;4y)%esfNcfLRWy~_vDq5YB8vG{R^N&czy8JgMHIhOhS&w^iy zmUx!q(YTdsU-MR1);QNMZQS0xzZJ0^x#R!cepdy{fStt^{IK3TyVtsZWB=f1`~k;7 z(V^&JE}j7&fyeza`&EC$euOysaLjUi^SI>rJ3)mIOeiHxpPV{TJh^j{cG7dQN8~4( z5bqI7h#!f^BoUGsDU4K3n)*HdfB8$l^#?$!?Q_@1|NJ#=(82lt^zphI1o}{a9%k?_ zz4vWn6EOXa*L?%8|Mmsh!QZ2RU~?TXWdz+JMpwA5{y*^fJ5E;&LCg!%W$(Fb8-ti0 z#MfN?bk^>zcb@ut z?iSYnDBJHJWM&CsK`_shr;p+9{J-nM-*LI}kG7Fhdfzp^2GYScle5AD^?$dY6~y9z zF5m?C18#r|AO&0lw8542*WdFX{XF>Y1AcV@0>FG<|K$5Sm(`zl_`fS91-Sm<7yPG; zC-4m{&*(%u$S;F6Me`>t@r`Eqq7=myAO!>Qozgzd$ z7dUVS#DCMB|EB-0+3SsK@Kc{qbt`vDVM=*QB}y$y4RCKz1I|;jQ*r}Rl!}z9l$R-C zlo!EoYNOjt+yBy*zxw9(zsP6^*5(2P{pk_!f1&<|S^+p1!}#O7gS`w;fpa6*?KkSG z@B5wn(-Y`|0R4IZ(Dv~S^@qE;2cEwSMlM_=&+B_TOG}=Ymz9$RNN50~gMhmNfRPa( z4rV?L(2!AqaS?EkfBVy9%>Te-Am#>6{hv9|4n|mKVCREr+_#z`9Bz( z3&0Dqi+?Z`h#RBf0BDc>i4e4b>F?(%_zTwXS8C+seBQ+T{EhQ+veHV@s^>-3t|`bl zi2=VGtS+mpE~|K6PF`J6PF-FRxa@t$#~++*&&mJhNw)u-;%^Kr{$@^E07o8-5B(oK zznT0WG5B4W^bTM;4J?xFQ;;zM>M!2EoBR7ABd4G|MMZs@hL#S@ z(7*_glTlERQ&OBdMG1BtSs3^opkzA5d_nFq6^p48HNPLL{KJ&O(*jzryV%Uev4RS> z{U6cLvU6~9aSI8Hh>D3TDk-a|s;O&V(b3hrs&8O!VQFOz25g+~xVXBx!#x55gMvd4 zq4y#lM@B`*#KxtjrDtSjJ$;t_qNuo}w5+_M@=aZRLt|6(+m`O0-oE~U_k$lMCa0!n zWTZ*1az?Ct+NIK=-t`Yjh3XjT9H{BPv~JAsUxl9Gaw`nOzURQirp@4wb5>noD| zAOSHj4-&xi1upZ{tP&-ShgEAwRbIBYbN z=n3bqe*`MU!K6)$Mc#Q}Gn^@W5`ujbWN+T>a2`v1i#;5ehn@)yLbscnCtKD{DXwNX zg_-ospS-YJ*kZqKD0ux#8r&twOYwDdgRK6U-sgN3E6H)$);&vfn;p_P>8cQ);tkpA zw9qpeBh$kZ?_bT|n6tamZ&$Uo^^CuvzA1q{8)I=fAr;WPNdltU@NWVO@Yi7I{5Cxj za2ht>cv4GbH;yL(G-aQ{4+}t=$$`~a<1ZNO6AI1$ov~|H69fVDF2hy>L;TIsru|7bF3ga)7w>mIM^ckpL{e2~qsPf7j2dySzw8Y-djxzZ7bKPuzq7&a%`~ z(iawdIMI7}$awQ}&t3KjiCFEyQ+dM=<0yNt(NT$?roMpPJIKQu;+(IC$)Lx2+ZFm| z2VH_H6m72^CBz;`@HF3*5wVN)!ZiAM-S=aw|4^qGtH3Ij9`>BC>z{`O(36S1^H{>D z0($vt607`|H`JMKOnuCmzTEnET&{j}$@?V!sFxNWsnOc!s`Zv643Nzt1 z$h8C*&j5Zz3jFGFa%@Fq)5A8nPpx605uB>Yg*EHI_GOB2A!`=5-_(AhF^`m4zm&nE zn0MgZ_i9XpX;b2N$>MxAX+VSG|EfX%^AQ}C|C&zdZA~`mc>39-&7kM($H7&a(}KHC zq*XoyM5VkLX7e`|r5GgvO|XR%)Ui77t7(}8JQ_HlYw%+GuDEksW7&kSjBqmF9Or;6cD)*9dP(dt=(61TZ9RAl{zT@&+ zXY@d^A>kU|KYjn%hb5MjeAre9D7~>BtbS#Dp>aFSt$faYQ1Sft7zdq;(hHHUKm=y@ zQO#JicQq4nveHw^r_3FfMHL#Pwwho&#J(o^V(?vCCNi=qj{4c0B~8&S%?HHKB*5n< z3D{l-{(k|^4`Br{mm+JB{{}{3!FA#wjMAB>Dry2o+g}# z7>~pGu$e-ya`%qYttUlFpES>JS*hG}D5&wszBBI@;jJ_@__IbvZ>qtFYDD_yi24W2 zvB@K4puH4-Y-#c!9GcVP2vPLm#HVx!uV+C3$ns&o4;wOIs+!R=!$Iveuv`@Rn&K49Rw zW3_ts5<@&4s?^iER`>~7z>3PwStvzu_)I=$J-z}%r{R65g*UAvoO;uM^KP%f$8B|I zfen%IEJsvzapa*dp1G?uw8Vz!p8w{lTC2HGiI29lsSTg>CEFbh*TW z{G2c(fcr~RPjWPhwjnv%kzt46RJBf|YR2Wa79kBrX5JQW9A5WR?h~tS&A1L(C71+&^JZ}%I}kaw8v3*IcQ*~ zzvTpAYPk_T?=;o0Bp_OG_u+y1>CTzJ0(OLRkJ%?Y%=m4xmXY$v&Q5_<3$RZD=2{16 zs*zs!EkBOrK*yvPB%sHUUV3SzGjeCUdSAJzsRcKs?$fn#{^L)3yKa9+yzs^NF%~J} zLzL3$wx&t|=0=Uo`BzDo7@A;zZ#w@C!LI-!`)Df(xDt&qA<}EIp!O!7)0!c5TeH_4 zjj+}jy#;8e*vp-U&Zv2>sgwugLVf)ixZr-z;uw0ZEED-|y3ori+(1xSZ`CoG_$LAf zKK8Ci+DP848Qxm)ka;gw`sMd<36s#^_2OcmAU}lxJ^@_|&gXPSI7hpnJE#cIcK@np zr7w_rj20-4S*|LMApxugE$XQ+6KGpft4|AFr-BiLhYnD0NI-WIKJCC!W#pKHAQ(5g?7&}*iFqK-&rdL= zjfo?FAxc|GUJj65V)G^nIWARuhG88sLhqwYl&QQ7(Ki(q2K(-nE|Mq)>j}*@M#E?^i?a|9ky#)=w!mqcyogwmUhM4wWKEunQUfZ{@vE%%N_gdzJ zRvPfaGVH|zX|UaMv#9ka1bq_F72WMayk`NR{)hBm(i3DC@SPatC)bu}I)v-rRWRq7 zqc1;U1uif{;_g4ZRLQy~4p4Bi0xP)q-kMy3C_djmnQOEPTl`IpcaR@~Z$TElzm`-M z^(5=ojkHUrHDwV`LJ@cq+{HtKK@NhECM$6V61;DMZ$XJ`9xhfzdhI+3;eDW?DUZmP ziy^WhuP1oRJf7}g6a9QusKYTX;+v2~+Ej*FDER|^7za}8{p+S~lh{bc*H_fDy8UAu zc|KI&OCn_&LKw-siqzgcr(x)avE;qQTjDNlBfdJ~bCBY{?nDM_tq`Tl7?_bMuYRTY zR$jvVW(K`vDgZl86bkjDV$wS)!amjGbd~N_gs?t(?k4m}l;>%tnqW5ILy*b~A;vQF z77#d*!X#j=s@Ni~h14MT z9wuW;v3_IE!^+u0dvoN=*}6GcTCmB)NpP$EG;!|b_$e^dex2;nzfGt}Kx~^rHNw!U zKzF7lfy0zc(oFhWLq~mZP}EVstHs`qh$tH3q0bvD)zIr}-{nVn(}Yg$2LoQqad)9IV53i@eJ0$w)ReSY`9shwmn#qB?9yW5rDyn$A)J$t8r=xI(`(+)_&!t>R4i%0 zk0|jNp^!lM?BGn#CvirrMyy5Y)u&;jyJqR3vVqtJUyD3jY;e}}=hv?f8kWDldY#-@ z%ZYZ5=|vNxYWtF}{)dTpR-u1U`8C!uDbw!S4AKY&1UM`BPhphay8I+amG23$ydy-fA; z_p`%@F}Xe`-{$I8kq>W>Eido)A+7VLd(jBD2vs+_*zQ}nT>ajs!+b1|gpvm(2?MLY zTphDkpM}GFktV%1rFvbT&!ylvxNsZ{z6YLziTxknT@Tu7+!dm=D0H)9vej=kE#fi| zw-hWAQxVh6Q}?T|Z8xwGv#er}Jjq76^T6hL&>;_zKKGYTe9))_f+e;G?bGMwhz^O9 zuC8s!wo-8H%< zrLSvVX2PLwS!kt@+-k>Q3tjAQlPnRnEV5GcvyfB02hq013>5!|#X~*1Lgv2|t zcAUoxT*f9fxGgWyBjxcLIKy|HtU)|gs{1|(`Rw=xOmZTTwFzhaAP~_uqE9^6Q-Nfi zrhW_!tsHcQ<4lY@_>{4H&ngIFop=-uf|1$LJpWtjwFk`#adj^*40+;Y7;#Opyl47& zsUvzYZrKR0d_-6Z-oC){eRHc^#o(i8E~_ql-Xo-TH{$f|*SypT-6Wt2YMt~BN92fa zR)|1;7IvZcmSEG$5Ig4PMDp<`i5vMli(xjM;l~Dy`22H*)G{s(Mv`V(jfGrJ_Vl^} z>)C`G`;Y#^W{T-Jixi1Cm`k1Q>yWMAgWVRI^DA;stIRlQ%GuQ^_wc(|0nSQ(UVTs3 z6-Xm)LFpa%dSQ-ZryWZ$>@Bc9coytvep0j;CBZ_Y^fNrQNY@Wut!I#Ndp8AheyNf-Hj9HQ(qJFtkQ`G0}n&?a+R2aj=9wE>}3o>})6D}r3mopVbE(Kw}_qeVCm;+h`*9B%AJ&Ov?-7}rEC zNbE~PlyLo-A-god~g>pBjW?j_SrI{z5s`<+Mrs8 z#(NikRn0Y^jA~yg{0A*av9lC2V{08Bm{R7bRp9aPN{hpb65H?nA<&lB=NqbVcR6N! zF2pVKtGd6esd03w&H9fV^Mua_ucgYhu7nU+4xDlsL*2Eo zyoApJyw)4f>Rn`BK;q-n2g3w46B4CsiAu>6IGfPcpOdZ7mb&YsSmunKleFB$(HStF z_P!(B*8WSCush)@{=Vn2h#*l6TYUj_NBN6pRZ*`337~&uOrMo0u1s^!BH$c5(^tlA?|40Sx1HmKH?5-9SS!N>&Zb~ zEiT!Qc`NGTna$i`IU|Gl5NP{r)w+G(aqeQ(Dg%-EekFmhuk}xB@hoJZLt_$3Q3^lg z;0}L{fidFKZbWo1QeYvG&+FQ8WxYP!jy6l1>Zr%i3uT)sM^-t~CDM5%9`oO7tG2Qm zqe10CiGXS2RC-Nf@rJ<3w_i2iw6afkvC*`*)5LU0jCo*u z+Z4KT6(W1lvQHNUG1pufXp;NQ-kJ3~{~*+nJs6TFOvW@9#ME6&j%dCph>=#nNb{k$ zXVcCl6=r=5+G_H4p|wD}*|x)l(YgsPq7@dY3B{jFxC1x(OFX8Cdeh+o zNWE!AFY12SIf6^!`l1j{GZ77;z+YUR?dptxYVspuGhIWyAw5K($5l-)@|Ur*p+fRO z4OE&Vw(SZAsm#OiunfZx!}>~fIG8!pO^+sd_|;90E`;QmB6^ojH9%qb&D|V1%vo`a z3=`ohP5>=&TVlmeh9fRFtV|+OTsAGxH@!r3aN@)_yb3@Y$WTKnXsDL%rYD4)$eGNDugG7 z)>dkh8PG$}PV)vXVxD^a)J7%V zmhj|80<=Ddb?-`l&dKIP%xvw)WP zVT8ufG6sCDFlbQcY~jpRI(yKey7A8&sp?o{0sZVjXXa9`reM?9c2uFa;)t}%%0Zjj za7fncCdWB?Mm{<>2rjEYvX0{T!j8%O-hQ|c#sr@gGc)vKvj8_vqk7v<7WE^UW5U9H z5H+g3UttQvuO&w@5QQPnPWYhuQ^e^keiD%4XiWmN4VQFCfLXf|2`DT(i6a4D;RQGj zB6y>3i8wrTAWj0Nzkn)_qDDUX*A*EW*p6U$TEWqFM@-Zd>T5_c33#mw?u->S==Gpq zg`1K8&Ij;?&~&ht?KEJs>$1F*yw@z=pGYxgulB;%j=VuL?MLFwQ-*|IQopC z)gu}LtTOyV0iDu`?HU@@2Oc26ZS#w&2!8nE<<21oiI)FDiO@jQJGtu-H=%FEb(~`1y3Rz)IK8hmdAMA`Oe{@A0u6!Z}G9>d?KOd z#T)ZrSQlxIu4UYq+)&?*ZqqCD$egt`ZYbQkXSq6>Q?+4RQ!u6>(ZD=Ut*b)odibdRz>N zYwh@90$vOlki`!jsMzPLM)Y?wciwq_&O6X&{^IqS`dubO#KB!`$8H@g3g$_-%Yw+1 ziQ$t1mB8-Hz*ZC5@TnH%oRuA`p?C6|N1Z!4e#?WJ%!tl|D*WzI69bN3LGabn#)@x@ z@eMnix6!N%6$UfO4W`DHa2>(v&57i?gC|9mA^Kk~Zf4INg~MWZGkyyE^Ln5Kjs^NT z*jxCb%eUr}ir_^X+?I(4Wi_6*HD5XkO5ykH6XfleJh)4Ke#S1?z-N?S8~O!>1Szu5 zG>+>FzKnS}jpubats5lxyrMg|ax@?{0dAgfvrJ6C|AV;7npb(1_AKbXOOla_QpYWQRexF2{M62Lx1^!n#7?89e0e2X<5#N2Hj)dDWFc$j-$pAY< z&$ak&_72v%hBHNtRj80kM0Ec>wwV;K=Ns9%*=uoLQ2ny?EL&LgzD9sW$D>853xc(Y z$w|B_J)G~SGI%#{h&Q)za@`ilG~kr%ZWOP^;&q}k?$uXKAB{>$3OmM@MW_35Zch0= z4ZSVC;y&INHfoK|Vs$Q`>P2sT{ZIl`y5@ppLk{Y37)MIm%vcH-XV^MSGU)oS#5@)^ zz5$i=z`Ul-WKQDuJ&NyH@_A3j;|ur)683@!1<%)FP8@ue6x8LI4;<@U>)L;1sN*}hw^(~GPUZ?s#> z8-dRGXYuZXT%pRaNh3muhtjL*N;HmjRkxj{C8)yqL*S-_3YSg8eI>z3zjWK&n?-_) zBllb{|5LDlx|alSgsUO6msNINAIsyT`^`K|ZNMnD^GPFAu57SOD6TkUCSU0!fe;j= zSyApWpOjMM-eTDlO<;RzZ||u-Q|44`1C`Cw`Z51y5kZ_xz~@MzVTEP!bB$iwJdRWy zsRg>c7n7(GBrt5Yi<~DiVTt9V4O|un8RyG&S#NF`*Vy_cD(9AP4dL%YdI=_3E^oc= zN=X_F)(sosf;>!1)C2uOX)E{;W>s*}k?F&9=OJSw!#pkdqoM;8sCZL|A3Aw7FE}E_ z#x+IO@9Fgp8JTVAMt6ma%pz5#gNAbK+94*f1R;zMgXf|E78cK8(K%DIj9smbZnG=j zbP%gI%nRr_xK|LR(^vvqVtNlkU>{kZrQ!P;^Y&G2b9{OMBfiH@YcwwCc zoDIA$aeORg=Qyi$;=n+U;CZ*m`Dpa8AH{@(hq=>2rCNOD41G(yNc%!}q99Hfv^qhvdU+SrdJ!EVF^l{zbNM!UJtTmk+?7i&N=@0> zM6nTWawZDn$fTNfCaUk27(QYE`woM{bBC5l@;N=bg^+plN-ZDWLuA8#_k4C|PT9E^ zYToN0h)==5dQ4axAu)(*%e*UZ;ieJZne1tPIfZ)Ja_OJnI;-Q8ZkTYGF{T{^!qL7{ znlJ0xT+Y8$;}op&1w;AzV`S87YS3J-F30}%7SGf}>yXAqcv(kgNP7Dh8AN08^k|0e z=yzo!+j)tqxnJKiH|I;UJsrX0&E>rL>R8ZSAf7}L5uE|Yyu{&@TWc96k2+|&pZNCc zSiYaHHW{X1B!g6i$+_=^$%JRH7OTMZM&wqHu54qF|yQ*R6L=7>z+ ze`|F!wf%GF9Q?RruQAhT*LBB>+hGvbx@?)%-+obNHn8SCkw(VGNJO9)-vY*`$FRodO0s>j4rm@ir7$MsNCzyWdnwM5 zp#uVjLRhNs_v1$V+h)a)*63Y!$x~<5mu>Oj9fJ36vO|2zYMQ8?U!7BXLfsA*e6tQR z-5ehw=A*2i8H#7RYCp{y2oUj z=Ih9pXttOl^_29tVpEX@svkJ-8Zo4XgZgM|fZMA5Yql9 z5`#*uBvWsixP%-?w0@E4IhqEi4b-hjzmQ-A#yw3K5!PMv1IZoqh&A+VZzxg#z2L}c z3(o}2I=@}&2{iqrByo78b4HUDlh5!xVj)38$Qz^hRcYKz5V4_ zjv$Y#IRvLY%et;e{^UVEju=q}x6YTsHV`YA^Oy)FJs5^n5awLT~pCn$<3&Xk4Fu z4(Ex+$DesniGGT1b6tTpQ5YtuGC=#$vU8~DaBepO52k?PwgM5lGD?S8qJm25SU;Vv zi8B5~uVJmtY}j4Lf(i|d=Lebg&{;Mh*5853U!6W=<;eC!rt)0uygHAHiQ6DZKK*Jj@ zu%Al;W?lBL$QF?Rfi~1hoV>}2!5D*f?FfU#KZl2ZjL{>UK_%Oe728lti5Ib%C0sa$ z;$imFNGV*^ieqGuk=`ZHUx%?EP}iF$ke0_9#4!hn3D<^cMZ*ym%ldZg><+`RHs0f4 z;W}Qw+|Cn1(LwFWNSu5{(8VVobK^rhym)!-X_@2u20gxH_w*ZV`WtUd!58z?By1`( zSfV98uo#?2^4l{W4RZ~YM?-A|bIB*|Qj#S{uhI4lT3DGVsM>Ne<+{2`L>t%g4z(V( z_Axjo?OCp252K(G=wt@?!IADm^w?Q89!9(!&MN zEm*7WJnTl{Dhr(XaL2R1sAoi0L9I>#j?MQDyR(|;KsQMG+5Zib*Zu z`ngu!!Q)<}dt^Hnwz%-creWW;qO!j((=wnLuxw0yceQ5p-N5%d?DKs*r;DrDea?1p z?Mc+X?O+RqdkX(@UHD?ZTc$)vmt(3+x7#evoUr!zKG9g=|3zuFYBmDL(ZBn+fW`|# zK*%Dl7po}^V77gq>vtCftY8_2EsnRHT^ zaKu?UKp5hBCrjAWe-!ElwLe1c7zdPb3{npXm#A>g>3^{)c(hcPwR4W+-HBcA(pjZr zi5#D~m3Ids7Oibj<0POC<}yY9W8NH=#*!kofUWNl7W7-c;}DGVF;O~*|1ZCu8NS)!zHNOYNy;juviTvrvTtn^{Y zv1`I&-JmE_g3KU;I%eoc=Op1Wn){|gwnfE*)KDw&`i>giAl|K8YeM2xv|sdgJjbt_ zA@2QH%PHeC*vq(D`6+oeju-*c{AZs8c3u;TrzX-m77?iMIh6!kEUGs-rjx$9O{`|q zkqOG!lp&GB68x>`w1_7d@$h9N73GPtyh=$;A$a~glx z%LHDaN=1lVokpr*U}q2l@A4rysESHUO?z!zxCCBatY#J0UQ#rtC;e2o;q^qV&)4KD z38k$?9v#BdH8MYKe10A;twVb*e2{Rl8KGai0rhrF8u(@@8@S zq0CtI*>s-?7p-qaO!`{nfYX~zCA5xNw;7@7{HTI0BDb`ZVM`V1%3f5fWYw;}ciZ<@ zk_<~!znIRiGl|HFAm6f` ztVKGnXiy9|h}Yr6p06(gv#odzCUgF-ej6XjSIybuenoZ+KWY8C`p_lOMUvc)YP8xV zd1@a8ozvHf5>BLj(lhn=b+f+$;R9s8LEITWTVtaYxYcswL(ry0uR(^3_)odigZ(Y@ z8^^b&1gNbVxTnjjEkb9c3-%AgT>Q#Dw>Ny)NulW>zvf?hmHA5VnfJX+sT2}a`fP%F zIwuQsaYYG5-1|Z!G~W4Xk7xU6<90LsI$G){%@RszbWMhfZ1WJ}>8n9?CYXfkoP;cW z!O87Ovv|K$?~*|7e;a_IUKt~>4lO4SFeHKZgoreFpM$`OHnD1?J$7k(>G&porAOI8 z9A`A}cx39HNbl08(lOhKHaV1VP6fhstDjF~T**tjTm4LOugo?WjfnDLGz`Ohu``*x zYwLFeVf>2VyKuyZZ_WJXn|O_tmmxEx-MYFX((nq`ncz}imwIPPy7P_OI8?6^yyxWPYon{5VTsPwW#)u7BDhuW zQdTVcroSNwb6-b5h3JKBgYx;JV8AMu;Ykklj%W)TTFfA5ee$R}+$kPo+ps6D`pl{i zBY|;wYKDmWF)Th^#bwoZyVi=iO8rLXqH#{*wJRI9+1$kair2-$qljH7td-9^Lmvl< z40SsXVu~L?o3M_BfLHgHO?sYTa5V?d&>J$go(%M#V6hzwn0TH<_7&sS*2c*O6UL3k z`C_8<)ZHK%7L`aOy%P9eKDhjvWyf3hJsoxxP)64>*SWj=N)p4on)Bi%0V-YSH|r~# z71w)Q_TPNJ%RiJ}CjJyDat!s~K4YtDix?iQp?+$4R2`q>f0K$m)4l*}rEkvmsJLQ! zpshfr){aA*wnS~Zzxob4f4)j8Q@*gt7Hz5cj=Hs9^1c|Br3cjzvVFgBGaPbK7|x{> zyYJwN7{W8L%jhX*+l+Le~T3>QTLE%tD=jF%|@k$fpDs z$y1W9Fqt7)PWn2T5!Luue7xeI>cxm3#{4Uq{OIp|BM2OxplKhSDZ(Q1p+HF8*TAxB z+QXRDy{oxmDmx+nO@dgrLXBroZJ?6M|<0g(hzkM~EMr zu^c@nEV;a)kY)FV2}0i zG}r=kNC5^GYhwi?i^A^q9H~W_pkJCNmt}Xk*1y7Q3gIBJ;8{*EEpOPslP+huPom$N zk!Ka;x_v_^Zz=Fjp2yZk?cE&^8LZ>u$9N0iAic@V;o`-9Z%g(hO$4H$>soo@xwxSX zhsSTvT@-&68ER2nl2~PsJzyP?AjB3`^0+%pLnF2`W0q5ULW zdrNcnlR^XNqOhM%Zk0uzs*s3q>e}p`+>DY?N;%cft)e|>_nBVnP;W<0(?Wxw&9SsI zI`>~ac2lV|DmljtM_Ow}B_GV6q!8rzl7b-fuw`OV7>4G%6hZAd-gzLKI-$+5cF4s! zv;w?1O?=B!4=mb#Raa$d*?U`jvQSIBVAqcgJ`rar-X&A}?#{DC5st{A z!i<%oxB-g;RfJXdbkAOWiFjIu0j})yM4|Cd35)b8G1JGDQ|a)2bH~Rdpq_ds5eMmm zH3;Y60+u`Clpvg^_f4W29na24q`+~G=;@aY6`$7&=-TYr4G_P7w>a*mcWJ?i$T#5`H=$;PzHAo>H4^`P9sttjMnXvt2W77VhK`d zPOs*o+3;R@vyr@15YR88gJWHW&+Z{t+kgc)L0eYg_3Z^<>tD)~L7?~xb= zk5y$p;K9S>WQj3Vm4r8%=T?l*VfgqybkcTXDsFGIr2i@sHJYf=ePLP?UBjBYK9k@g zSjHwgXds^_K2>JiPMhKT6K+}H<0u~ZkBybj4ZXwSa8e32sX)kdb9cN(CqE=|&ekH8 zaQ87|(Ml3KEWMg4v-@FMMl!vf6yenPEW`X+v+-TUJgvpuOZZjXP|soJ;S#;it!Yh0 zBxKs@r0@l9DH-NsGFAGcfa(phDGpyHHB>joT=%(^Iu8+q{ucD8$2C;%?5bKOd;Ucs zoM9ht);WU?2HCD}oa&#D3*EbPbx4i7GUuGCZXvJWSSZZ9Hn6p{_`|(V+kF`EA&SQp zqLT?O7tC;C|Jd{X zInDk>I>W2{k3?4-zY@08M)2{f!-$9&g_}bfV|AY=xpLP+7Xy;|{ug`i8PsGN_l>&i zA_{625UG+?sboKdE?IurfF}i{`CCF-y8U2bi1w2#0R-h7l`ScsouNe)g?!w*D!rfAs z3z;TTIcZhkJv?Xa$BB;xosk^Ze)g|FPK;UrvW5U>F5}B^KO~X3`_~RIDeim1>Kr&V zJ1n_NC=UEDPR(J@$SO(1Le`*(tnKTjHO$wDZgq=he?z{fWV~0V}rAX!40fqg&vPP1#|9wW0jX< zprf_Cs4gSaVixBVV>m%qaItn~igTtPxZ+N+pa!G5N>s=hg!4Z3xS$W>qzbi+A3IN)99{rup^iB$5p_%C$BEw&J8VIlA1D3- zc>s_2Dgw?n-Vr1gksun9SKEu=?i_-b%Od> zKC5H7yD*_K94%CriF$w#0$5KiGoTG&=8>dBSUQrg5|L+I*V;U;rU%T~0-Y0nTYl`D zm=BR-y62S^SB=-3J3W%Rn}kd;nW<}kj%JyPUez*H33yzQv-hqZo3yVsMxF?mb_h)!aZX3gjWyr&vaA8ZB?owx8q?vs0MUhd%XE~oS2aFzU~>naCZABD(|+%J zvygh(^9IacXsFwx`2ZZkoq}vSh{oGHESo^$&%NV}w$(4RO$k;~;V%&7BXg({C0()`XZ%=7ou?ZfVihSl*32$?EbsNWYI$+W(^!V2e{ z1{46UV3s8H$BAhha_9NuGNcJ3hKh~nNV3lZK1T>g1@QCNytrQq*T2CCU|-RfY8YXM zQ~|_qe$||}=&6?1-kk~~y=h2GT85Yp_@b^;3HSJ72Vr<&U&9QJ)YoVSZq*}ha!gyCqbvg-fA~OB@_mH+uaVf%{ww>uG`O3h@v6*)8cjG>W zP9Ns?vu!K{+JcrRnzczT*9O)X6?Fbe&V0PzSoQ^@rO*b;b-{}F$MY&6lnpJ+U7&AYv0EyfJ8)&8K zelJxLjj$-1Xu*xAEhy5%qFf#pd7UxkPc6UX9me&)-7r5fGr9v(i9Gt;(bLcdbc+5p zwk0cyQApNF*z7uTM?~~fQ2e^S)Y_lD^IEqSx?!JuZ3rWe_5uWboZN~-s%Af}iRSEe z77CK*`r%lZYneF^T7U85gjt|ae92`5?wdOklfc$kbW>$=>vgeqzC9WWa)g{@^gQX# ze~E7o%@Wlm~}GQhT=`r;NT9eNS} zP4m#P?7M!-!tE!!9Rdt9NHL z+4*7&0>j~V&Jey8UV$)$rhysB@Z5{h((Ub&YQyJeyiKSbs@sR(A2n9ptEmAv_q>l) zYmRYm=0LAAMz5rL*sB+Lvm|LgSkbz2gJj%k;{?5I4^b_r3$N*?qu0|!edJY=GddiS zudynF4u`^?;pJ?Kr8e9Hv(ODim9{?C*~g77mG=0n`cFbE@FsKbW{EeqP>UG!+lLJ^@`f-9Ftf6v z6h10|Q%$JJJIDeQy@=VrhE(79e7)1UzNMZ<`cRRJlXg1X@baCXlR*Ex0VYgs>H$Je z#_chE@#s(B`lckJ7g*5e&_AIJah(iq1e45t-GEWY5bxH7g-5{RL-iotO`_?zqia5g zITIZ@=}Fk>S-0rEgDJk7*qfT0#qzg~q)~Q%a?%$}p(3iOz2F|GF$i1_5e-&s6D#y| zF)Kmn(PSL65p&rdFMXP4$>8GU=Iu+RG5zeY{uDAs;EMNA*A z1qRQP-O6%g_x0$2j=foVqr`e^NG{%@~Fi>&sa?Y*msWA)D!(%&KCQ|;ugjwJ$DNwz)iKJuZj$K5Z`w-oGhzRQiImJ7-^G!T}A4dlao zhKfbQQ!>ptDqOYt+7$wk%Y4ge-zoGb8DJBf`b6rVBB$b;4nq&hP%-W5Y zOD|C%HWc_;N$+NytxxSK@gz2~`IslqQRXi*^@Yx*zPDj=Q-nRfE8maByd3SKe^nIX zVz`}D8Ptj-&5Hw=q)=v{IVHI{g@WQ^8?(uLMWX|CQ0JZpjFFrc?~nHi{L?SS7J07S z)HdwHWM7uwD;FN-)9P6-mb=ej1-w$J4}458m2UWN)JXG zE*aSRMhQi~ut}p^^Cvu?modQ0*BzAFr`--5@G>Q6n|@n2av90YIW#0H-n7hC-m1zpOcZAk)DYgjBRs^9wdc#HAfdoyn#=hx*|X9GyMO|G zwx4g=F%63+%hYy+z0tz@Lh$*E%=2m3?sCh3;KSlPiW2JfyYcB6$HsSUg*K>P`e~OU zhAA7=onJn$9*VlUBHszDW_%+Z&fPhGV-^4HFSPVh{D9;lENK{&`WkOp$S03f5=A_6 zozgQkx5g@aDMH%@GVp^zMd~)Z;!|>iy9KtMYsP{(c0<=PdzM(qUn^U#jWY!=C-*GE z>WWJ3i-H=uMsh_wg>m+^BEz3Ip^K%kx6uxR$4$_Off#h*eg;ePjLVAF9Q_YrsqOoz zbv+JC>I;z4ol)8p%&@l1nJ`U!?k3~Q@oU9~^!8$$)MnEX2w^N&Q0O8cb^Z|qiT>*x}VlCNKp{q$khta*C z#~3qU!5Ql_?>SdY+Jyq1yq-0zWg7ufmXa=90uwxqPDZN0sgUz&5z9y9PDzG+G1UT8 z0UiObWzaIl3fGigemqn@mi`JpS0|y1=q(5&{`%037g3l&)d$=MQ2yo=p}3*oq7}$u zwLiB8$ur;M5%E&YfSfz#IY4%h8UwXbd(y#Z?xWt*UPWg}^TJ>D7)2(e39Y!c# zFZe8f4&Q&rU;WnQ+o~PeZUARXBA;<9_OatHx3|Jup0N+?GA+x!|NX;}X7q#`gymc| z%YN9=#=s^c9bfsl-C%?#cZzQ`e4qvhZveiW=qtSp()NrM1C{Dez#FR1;6W}d6xQt? z>oJ`ae(0ZHVM*UGJ9ai{pVXCOa)JQYYs1vq4fM^xV(@F?sIPq2WV%i9pCQ$dXC>0~ z;GHe;^5tfymx^Pc^MbD#AB)e9RtCpIKu*<|T=&3{9z_lK?eAxsD6{%E3xAxb4jK$D z`tab|r&P3H9A}JN?ItQHALTE|7_sv)AHmC8S^ip@co)Z$t#V=Y=+PxO${xUmhQre< z`@fBM3b8imQ-HlY8F)sh_Y0}RO!sbmKzk`gy0E@74t{42B{AxINu7KbBLLa}oXj?_ zsL8KFpj{{0@B4*Ut!gxBWO~7FyAa?5BPzWQ!gA3=6szLdcGUJ-#Shm9h7%Cj1b`NUkOQ)C zg-d@G1tDB!6w;M>Gkp+jU2nSFR|}K_Wp~Kh^xPn|?$^}y#q}YZSl^M_Wb%VU)Kg+3 zH)&zohRTNWbpov##!Tgui*;29XUfGx`wl9aZx&(M(|IZ1uibd@*w=>P-$D!EbzP76 zWA~PNXDu~@50TQvQTSLJ3KM04DDw&oFz{MwX;yX={ z;oXQ&Y>eIqZzkxhms&YYns%q*B&EgP7)^bvohE0Cbygk@epHyGh0-7`BUQRvz#yi- zamg3$fKiX{@j}N*X4$amW&9RKG{AxHaPR4bJ#(Pa#Oqea`vUxc%JO_ z;c11hl8u0Q1r*nAbL7k!khsArrV*db|91SA^E3NABY=$eU~4n!l*5%RUd90xO&Ros z#mjk(M{~1fG&ztFT{~*z->;gJr|3exm#*ELXX_gc?iSqS>LXE;;-@WQ4#_}<0mmV9xuEQSI5h3 z_^88itd(SPP>!iBVuez~%g7biB)RD#{X-}SJEscAgx=+2X9}( zwQ;1T&lDQQE55BXA#WQ?osifaGE#~a~;Q0kZ zwj{8pN2xZaXbgm~k5-qy6%L2Y?ts&WuD5S!GGe;#3~LU4MGo^hi{*Rf*Lb8-*I5H( zl>wC;fLLsv{a?hQ)86`cm32t;W3Xx;&h%P36oR!lXT+DTaPG7LU#3;6^&5}X+Wk}`_OgQ1VyPjmfZOO{$9tCnFlDX`akEqo@fG(N!aZV?uFG-BcX>8NOvsK zm!;06?{6NzV#63v+5#Dp+9@zbd^r4Rm|T#Mtbc)ZKqB(#-f*WWKvTg@x!CYm^S;r) zPK2dtOgRz8!qQ~#wv4W{n5`;?nd@xdyU05Omp<-ILaH&rB;xC-7^EHzmB99+_MlP$ zGtin+5mi-RkLq#|dp*_OGLi9hwe&f8x%p93VxY)ljZSBnSRQcXgVwsOS6o%{d%B!K zbtScmB>JZc!o@S-pEKHrZ&jI#dB9g3vi~ z?HpxaUmTuJ>6#ZFZR|MNRiZu>rU&XGis%ZJuEKum)blNnO=yHXTM+wk!edC>pGUYE zM#cYfT(l#Fb~D*+oOSLfsX5nTc%$$7*AVee;q`Erx0IXF>(#FdB8gr$Mspf76SDHb z{#NGNBvdK%Y^Ns6oeqB12mzqud38Dsa+;L{iOX55Cyo%rE*Tq5KpFwI!`}EuwA#wmKA~< z4$c7|{0aw$w=u`b6!@tPCsgr_`&i`MBMJVtCD$jvwnJ=yR}=sy3Dp$q6nMqaFza?0 z*b%BlWL2hohqBN8II&CDhoi=bY%bL9TVRh!u-eP|3h<}NuQ`@KPMk!so3#Odk_E6m z3IdM2;pe)tH7;P*Rq$4T)bN#j=zRbYXB#iy5lo>kumyk0es_l3_fGfCVeP)6UR-$)LX*3AAECL5BU5izCL}*uT2jMs@PHI z$~7POlrD4DAk$3l!A;3uUcG;mda@}aFSoX&XFR(w)m_Y9Vh|FFai!k-w0JuQu(eo0jOp9{a%?^f@`X#+~N!;v0Z3yKigwEPMv)`9*!_v>j_Gm6 zF2XJPkAwLo)XTVQkJ?TEZST#D1npY$iOe7zt(>5Y?5 ztKIB7ow)4RzP@j6gTxlAeil|WyYOcC0>iZS90ejJ&?}{?qoD<`)~-A+ADL@SV(fJZ zKbt3G^Olk1PNsLmz=-bxP_OGj!RmVg)PKi>i4R%+h&hYYbxeI#;|4C zBnQ^2^=*t{pLabd)_IvqR!B1z{)piMEzqxJFKtfnz}r1}^amH0v_>#-=?j|x8OC+x z7|qdGBc5Y}>BHhIP3lSyF;T<6M2xYuTrq->q{U5}yz0fev9Bo-mS~^t($itpKD7N%eYLp`K=`=0 zC`7ph-$R$xAq#nt|+X}!j&D43Zu z5rA(05PVlOzYx6}t(a7uY z)j)izYzPhxammbXxl-U~W;8>{$ub=@@r!y`{e**ioO@Izl^aY_msRfd`7`pj_sC3B z48-W6;GRe{KOQb0=-G|9N(XemXB-0qqhGD3`}&!uNye zT{6l3fY3yEGwqWto?WRA*EZq_yWDLe`FHnR%5{Dd{T1Davsv9yVe)q|ToybZ{O5P0 zJY**=W)7t?O&}iw5jw&=d}JzZT=I#jbvVu*)1>ZHU%!k~P-v6umLu`SX_5Fm{u9|w zF9ASc)-ekNaDrh+aMb$x@l)S@AMkDx2Lh;Ne?$Qy>E86Q(r`KrcCcB?dEbCK*2@N$ zo%wMB45;GG#3LtSmJbq$-#7g@@ono?dLDzi3j9{!^$I|bOe%O1b$s55vB5?ioQD?Z zZ9=+s^EmS!h&)QP1S33wkRgO3Eomse^;{irLc2C~>-?ynrPCB) z%h#r4${d*C!RCaPadmT>yDd$1W1D^}ZEYoTS27J%iwZSqiYu~I4!EyD@j!n#&5Z?E9w;0aN^v%s;bxpLLdr)XZb3X1g*Z*!L1j+dAY*o zMK6nFBt?rZwWJ5UM8r{7Qc>!~4^sp+GrGDIeN61j!%ow2T~e>VED7HdIxWp3h?OH% z^OGNVi2B4!a_{}~OeI*pK-YC6^b$hAhBL#Me5*WqW_swyi96#;kZ&CZ8-`Pjmm+UY z`ZXS-Nb^dJ+QiTf8?wF%1C^{cC)r)X!?b@<#d7Y}(a)h>Qm`7^`f;KJL62)rc&?Rj zoob=bKkr<;gm%dB;T4SOrK;T1?d47w*sZ3^4c4!-HqrXj?ce%>n#GUeSy@+lm$kVC z9*U&9qQ7XDKxGH6X{~c)B!;eKdu(I1I=zPkuv%uhwo7M%hl;4ys#w4X+!I*E&GXla zg+dBz>nJd~AJ!m)DO+6tM?+TKer9SWesc|=h(Z%eW?Y#PZO{a^_Unzq?ebdJ)o8&{ z^+9Kgk&9%~;kU<5?{Hplz(7@#4@qcjE579x8KsIEs{1q`bH1TLIN+{odi3*LsIsk+ z+7b<&Ek~?|5gSlj>I|X%Mh1$l2>!f7!^Z2&BYb3!^w75Sad+|S=njQ>RN%MV zLW7-T<+%~j_DsvIpN{ldFmpo3IHB0sc|y6i-Q?(Z&TyxAeRC(P<&7&q5sO9hz*RY8 zHpo9%kw*^@-zyyVnp?*&xF;uXl=&J)<#%S8Efy}^wwznafl8|OUrwI=x(_Rw#6Plbk#ZY8(9$B!#%ny7YPtKO=md@gFlle= zNmBIXM=GX5U2SYrtS9_>ieG!TniZzG`T7}_w~T(9yKXz7$gxquCxw;XIwvCEU=v(3 zS}d*({eE-<8eKLqDUqArn03%mB>(rp?xz053(~2*>WX?-KboDYv@Lg5d9z|ZPNG&B z<=p%Dr96VLF>YUKK4z6#HCbwb`UN4xITLoogA|OR9ds|GJyu{o_2FnSAzNHb1sZzG zjs`umJ}<&}_*m2vk7K3#zPvo5E5aDN$vFSAsZ*L6kh}-_)munYwBvXNkwxQ9RG(lh z#Fa4?Zjf#ACRTg0@b(wuL`+OOuT*a+J6hODAFUHAE3&iT+VIofErj&@NjUq;a-X|Z zG978BjA*Fo&8AWr8N8jNnyhe zOosue4KnQmNScGOf_|Znr73b>avgr9Jt-wl&!3p7|}qaiuU<<#lHzgFY*D!oVK^ zY47E`a$<}XtueYbUGgSe{|0X2uA(oI{}Z?=t6v?4D^23CB8KI17D^TZrh%E+HpY7^ z2WTfmNROx&Md75JT^;jW*-wNhCCw+QKP3)f9yq3az?vx-iC(?5G**GCpH)lT&&wlb zuQ;B&Q&Us47f6trm*~j(PC&n{&dJ1IC|7v%W-8V7w$y~FZOb}NrYXqBWoklWVlTos zG&8`rBk=+&lH$hCTh2b>1$*t1_?)etFp>U^*SFRC~2Psuty?q1`Qi&bm{H>0!jd-YC8hRYfP@DL`7XI>Y$Aw3srG1 zUzc0y!}HJWnzXhkD5+DK6}EVf?HKeu=j@Ttdsb1CG;O8melrSGWR3l6<@+Vgq`r^{ z;mXFU(LSvzE}Ngy(@&M(`Gc9>sa$=nbF{$js^^9v>_v1wr{>EnJf^BJ@LOP5Lo34c zjFv(ac6WkPoEjNy zCs=CXs+{6b5!{-*^y&0{+(@~wF<-tN;*E)ob+&?OuA^I=39hAgh7__4IQ$3&*_G@Z z*{laP_?PZqfx5Dssz{HxK1L3XlzN%Vs9bw$Sk9t)!^CbsI|?u$ixyxv*B$)tW~};` zS4-!#b&Sq@CwZmMPfvyydnVca5iC*`f65+NSFD?x{@K(olltZE!jr5;CL$Z-l*V&T zYDr$b^1)>;kG|Q;`)@O|iycYZGe|u!dF^Hs;g0 zGOa~lCf076Ynv79TE*bNDlIL!+g>FPcvYxI21YH??y3ByuUDR$$mTv6aLkw)!C1r! z>I5~~*S4b_P4@iz>rDVORhBnNy_S8=*8LwMQRd6cWS9&`K1aG8tKhQ_+;7B}Y8Ns7 zpBjrm;*0|}dgndr=z8sp*^d(r4x1-o4R?Q>$hKsnIHQuQ!$3vn)S5psod3rOq6cc9 z3s5E3HeVh8X31hD90Rk%^aQ)mhKfEW{y2g45f3FMfQ)~fC>zs>0$QE`I2E&3`+vYG zC8{N__u;~SgHvB^CJ9@SPU9S9%ak&gnC(*(JhL#Y>Q2^GE*;~#sP?`Y#i`fYnxibr3(Ffm#322EotEC z5Q?Z~3evgE*G-TmL^X$*GeIO+Y^UT{ZKLI{tR0HZrEfZbT~iww%$UcXdsklO0+_rA z=tO-kHZPN_xZ{8fY#Iu5p&li9@U#TvCl>F%HK&ApKN!Wen@WyHxU2MsEC@6VG>Bv( zl4vq!X{6yh4_ht#BQ16#)UawYXz&K0`$km?FHt!FILI_-9wC3j4LC9kx&y*w0V z>%CMG11l_f|8Mo-zric+m4humuOkN}Hw(%%>sfeP`3{4s^_h&m&a5Sg@tUjdPzvlO zhEvrRenr}|a*i~oH%df-$Pr#&60t%?GqRy+93h{Qv%pH!9z}Pxi-xekh7GJ4C`CzN zKjT=VL$S6eH4j3ykR4PVh@s4;D3Kn{1IVi6LExve=*0T=+B0V_8d3w2pY+_|iz9ik z&YlvD7m{Q2b}LQ^86^C?i2IYR!{ok(p`O*UOws+BQHKCkO(F(#<%dB!C1aOjU)5Ug zqSam8&huOku2Sf`*DkH~mF7~OOsd@i!Oc`SSE0VY05JubeiK$9tu|2;EDAw7R=_o* zC7J!J9Ql$17iN2bAbQ^dEtHHjD_@OhN>l?_Wp5`h3XFGk`dyYJ%b7fXx&HZD<0TtY zVtpeA+%pU!BT*D_rS8ws?qnC(i)HN^hr)*<2aWw-k$FcT)e@WH`ynOZ?vL>bQiHn# zqa7|Wsu;+9w~{N_Zw0+Se4wsHCy3XoRFQ>|Zf?1M7n!5X2v1SoLU$FcJZ-NOHIa z=QmgeeMpn0o2%w#NPf{vuUux|d|E7C#cQKQ(MA8lu-jE62|xN}MVqWnawvWj<~UZn zC+?w5UD=ZdQvW%DMBay=OQ0&{B`ZPwYu1?Ti7v&S4#oO3)11KUdANlj^I8Sgfjced zj!wqA7dBsmLH* zWlHXk7j*qL_NdXE=SHE&q}SB@ajADL1#mV?Vk@q4W(M^L;aC!M5%o=x(I!Uu?0-Lp zjyt}ppN;U*LiQ@+bL>jaOI$cUFK<9l)W4D=-#{Mfa50F3?;RU}SKnz+mcd#VZCF=1{aPgoG?dw9rIl*gesLS!`R3M+ z>HE)si|54mn*Cl1tO1s|H=MX|zELlr8}>`P1Ky|PD(f@DhBWQE-$sLSBT`&D(RNH@ z0F^zJxH$T%b$qYb;okUmEz+2IvkXu}7a`J>XCNbH`!2Gj(l7h{fY4gY& zFhp_f7(>N}ljpB9mY>l<+#83QDZ0|M4gpgp1d#5jcnh*CVEzk)+E>S8q6Sm$(;7B0n2vD|;hHP^>O3f(_O*sTB`C+_s?3H|gaaSWvFb)GT=3SgGEJwb=F@!RUa_#phlLlQe%2!aZnFByBaM_2>d_%rqqS zLFM?D*!3n^qav)mTGbF=sm+EX1S!j?>e82-YB!_#x{8rYF4axx1~CO_mKl2+=k%w= z{H|L9;24?)1lIg4Ts3cxhIYuBzEvGoc=v*uahe4)BaD3WRpKSJO5|0nMPGP}GgVvr zY8#C1_;CUvKZOge`F(zYZ@gRa1auP0YvJ=(ioN~R!kI8$0M`I&)D`Ho z=K{5tO#HO6sro2W7`$I?kjkuI4mz?T8~F_V8iBR98ZG~0+N7^o_Je#Deoy$U7}>_U za=gk!X1`IbNj_rU`Kt+h-+jBPe_>u9L2T6J6D5-2ulPU`OcTBiHHq1y#O>6mpaZJerx z6}c)k>a&JzFo&XPQCG_m6;r*3596%ohn)$DCOG&T-R670$w8{0c|sm+u1n3{nY4z! z2vJaQnw#T<<$tN~_o>LPq%O~TJA`Lvop+=M6&edNuG0W7X=JyP1R$q~AW(+?Tp%~S^b2cP0hDRG+_q9*oiIwI zf9SD;={UZoam%1*QCtr{tJ-x%C5@8&D~MYtW(BKb_oi3C$T}rk-X`vLlgQUw1=pR9 zM$BDrm|k7TUmL!4am^MBIH&G!beZ&&UmYsSTnbuFyRFq383GA5Wp>uwSn)0qU=U-~ zoFQjfH^{9*@wzw4oZCh9pHa7D#%_I7`}@+D60^v23U`_aW7Ra@e2-@D#in?u&J&N{ z29+6a5#D219yM>H98v%AHLG%ly7x1sE_NUf;h*UzK8VI-3KYVeO0xH0?WiH@bK-bH1HA3pnzNMFddHrrr)asm=d7z5q6PEA;~<*h;O#yqtp zkMP(3%*Z_|ckQvi|EKZir~mI1hn1a-&db=Xz{89AuP(qoyOZ3mF)}hj(R>u4Er5rv z&4?Cf_1qf%>AEb1BR*a3VPhe4Khp)bTmS={2xX+m$C`MiJ}d@|COzW+eHf zQT1h~)G?dh@mP7oUP$tjyw_7p#-smksrb()2K=vE+{-JyJD+N)=EI3d2PRN>MsXmX z?UZy`2atIq=vk+b_o3ZX1|AZo6_Ac&W>EEFSYDKZp4vzmT$mpnoVvipz6zJXGo4|K zorGu=w&vRjjy~&_4Zts&9J;`OoW-&9wfs{yy;|$y+O(B3f7Y`b$PfYMlNtf3engh? z2S$q0-@2+yXYB#Mygyf$o;X0yBOGX*LH219r~6d+7!8!_Ue0f6{-QMKPaVj-6jsdh zH9E0QGOl~+bF6}~N?%>Gi95XO0a#yB@F_-wWIj=id%%1tjH~=Kpm%oWCsUD037{YB zW5B1TeXHX_l$YgsI7j)oIJ6jakHCtfc4*o*u?X(r)SX}5SW{iC19+O>MZkW-)Qo@h zDD;xU?~|{`{lfm3_~wk5>c05a+rg=#6n_qKyI|~lMP9-vV?lL@6{6DrwH=cbTtpUo z!Mw@_Brdp*9<$h^mZ2t0c zk=e^2X;a}M;|Y6FT|(fuYZowPzkFZ(!n9f{T7MuvkvdxpY$v8J^P6-bsi0`}LICMK zk3k}WGNIHo;)A-(5Hza;&A9usX_2y#iTJ~Z;{4jRTXzTxt0`3QaT#jV_s0p>yb*!H z+LoC*Ds}6)>E(=9&X=8?9xprx`gnSJXWV!9>(qZ8hU88z3GY22x-SSJe`l7nGtG|V z*|yB$14@9zJZa09dlSb5xr~JtLPZe!epkjmjNnn80ZFZsc_B;%IygyfOMloI=#TB~ zUJ!tKLy|QCTc;({mzI$Mh=piP@Uufw*j0Terdx6)%+sl?qH|z@<+VM1ml0Bg*?1eq zm|s@qn<>oIdRbm3v!7<$h_(8xcXb?D)KGRT+oOMpk+(H-^e3XXd;ZD@8$yMi<&YNM z9wfG#)6o1r`=Xi&NNwsMH(iK*0b@V8cO2xT_TeC7j=^xmN-+ZKqUv6t_ zj-S_l2s>}PZU(X_v|b5gsw^#q6C21?T5X-abJ88#)t{Nj2??Qd<~`AK?#yp?8s%F# zFt6P1F{`|ep|V*QZI_m5Cq0RhLU$T$+LEFJrl69XWSXe3=Oq^>0jiBH$daWMs~+8A z3Z?4aDus~&-za^jcZYZV-F`tyM&;^Z4n8B1^Ar0greJZ$4$0hL%7it+#N1BVf0;u4 zr+e))_villK7{4`pj&%hWm$oP=^$3KRt-2lP>wW`J+8gV0}>mVHf?4m#^*#( z{mtr_!W4oDUNcVf!=MiOjzeYSzk1#P9Ld$jdo-xL%X`F|@UHD0N>v2YW4lQ_9B5s2LtrI3UOaXgWYG$@m=AC?!`W32L zxrq1J5eJwQov@z8d-|n};lxm)IK2A91^d>mRIxoJ6;+J4Uj?TtKfi2j3I4l>=ku881N4CV+j^3^R1xmo zgm!slRw%lS4GPZ4H?`etfCAyVG$i{y@N zB|Xf7Kg+s3%Z)o7L1yPn)o?~5PVe@zmnK6Z+${QEn@9`4=}}2OQq-5oy_oGiVxQdR z*VY$|y08KvT-BTJzYXw0xlxb&{|n0hf4S*hZ1ksus>|MU{gl^E>AGJu!hnD|1ab4`q(U>L2W7X-1DE0hv91AFT zz+b-8nZ_OeU5FcD)AdaYm4*O6Zw}}tUb&m@>h|tRIA@455ys?CS#peW>`|$5vP!P+ z-x$<2k}u;g5fX9WOY7G8s9^t!+TbS)(^&}CfG!A#t#h155C%>WvxV{Q)jo66WRdAR zC)RcT`0JiA%^cN*K94kGCO9)e?=xbfrN;@N1me%SR{MIeE*;BH(ZZbm0?6j)^F`w0 zv+hGJ1vvx@6GI|XtJ}CR+O9uRqXfj85JpW3g&##kPi5B1FIzNTwZZ8RmEk^?n@y`N z<8FQKF+FdELfRGnw+ZH_Nb~X9#*_^|GxOHmp~F#2Ro=wJ+1M({Dq!h)kgI|4dTxjC z|1I;jZ2Il8P;Z=tV5xlA73`TRQ&k7c+DiE63WB*z0bCWB?141WZ5+vGG-bWxAB_8t z?r1LK!aPO9A@XdSCkQ5X+p=1>U)x+Fl=0l_hQrTz?cz&kXKs3B8pCCqbA9tG3T~4> zV<2)p9UmJJsc~z|W-lPQ8;{`Gw43P(nFymu=2#Lh$2|qUx-oX|sah`nGyt87LRL zQ0MC&`0tGK|Ab-sA*|Y?8*rjf=T+nlW^ZDYP1Ne zj)r>fCXXg@^e2{7eISh81#6a41wezIDev`wGmS_`oL`48`9$QA+IGN59ahSbS3QiU0Te@g;{2CpI4#$$-dLm z`x|W_l&O{eOZR;ke_#zSS8sE)0A2aqZqRqbv%NykDGxlZT9ItJ$8v>oB6S@myT@$DJ^cSigmIkANdG!Qfn#0_x=NH{_ij1f15l0IrB?DfMs%|4To{-%K?d{ zrg)?yeiot7y>PyhkF5b{-*_Wlcqk}FU!3Jkt4-rTB!pPuI86B-mRz;vPWP-0r)HdR zBZs&%hP0HCkj1oHmMl2}J#M1F#I8dGw0NIuIqUx&JdHFb>w3^2B1}#2eFfU( zLPS`uDG$*WR03o^ein+YCDUR;^)MiDX-vOfUG9jJ(;crRXI-L90=rgEY_N zlDU#8Q|0#lX^->;K*qdME&m)T6-0+2(Y7oqWuGyQ{_Hq49+U3XkJ6&;7>)xCaUs#BHq zKNx%OsHW1l?^nl}L8&4j9aN|3CEPI=d#Ty41SAdTRgp<=K*Yat^P2WxYU@38O}C)>KvnKhBXe zAZ!87po*->+xN|;3hCY_4g8{Q>fq#CbqF{KZp{qp{fX^6<0BP#Ac_-O;cRt!cL_8V zTfgDhTAE837ePhHD?ZC-ScNf$LI4M|m|tsTl~L+uoJDK3ndpLX{`k^<@`b=fG1wc- z9P`DEyJIE2$=2`6Q>s$hU>Mf$_DEbNd>rstZP*n)zp0bz z6e4TEp);+_awQEG!P#dN7olG9_()E~GiNROu*2i{kN;S(0Vl`e59;=8R3OR^dQI=A zKI|%8$$1`dOvw_vTZ0dx8N37MpIt*rGt0TZCr zCqGhkeS#F3ff)xO;jADDNtT557?m*<7a+bZzt0Mp`gu(iG@Ik9cXw3U#HL7uTXgoO zvk_7u$_>mRC(iQ3d%ez4^3WoYe@hTH)60-_2f{O>x_ja5t$s<$j9akx794KPOi95H zGjHQJhj9#Uyk)l5y3)HQRuC*!wZ!#Nj$?A#ooeF@V*QAyP-NI%K4oeEeu*JKzg|nD zpfy^~??t&xRP8Z1=z+x}W`XfBGEL{^X-IM)G33ZhlL|@o3@cyletmMjnA_Mu{-*pe zSC$aT27gF1+_mj{N)G}+jvZhV0xT9049wlhjMZyHR59PT8?<{_0OpAyxt`-rSQR99GjDdV3>;abjN>TbjNf06 ziS>Z2t*S`T&I&zM=BE4#K2DgD_#VPi_JePY%B^m!7q76H;QBZJUG)6#y=HZydjES# zcRcCN#9smTDIc3=FzMju9WlMLPAZMluk8|FCL%|dq|DB3DD%>%MLvutIWvUrLSQRaN>u+XC** z!#ynKMeS(8MCb8^Qffu#RFv1b6RpKG(pA!=!8;JdbAAt|e zQiuCi6lyytk0|Ie4^xJ{4E9mhO1HP|{+GWn3bqV*Zy0*-j3xuf_ zWOZe8wpf&sEan(@R3lF!=DU9E1`l<6gXfR>!rWvVE=u8EvcsY*j0rv7x|{83g&|g} zy~RQx>3|#}{4$JsCCJlH{u6ae2^2_K<{%2~0Ya9cO6qfCckt2)FKW&>8(DHd2 z{>>|4P?>ARljaiK#jn@nS3qi0028+Y1iQ0|ZP=)d7QH zfz7lRho4yygxxaB(<;?ez48JPA0zQ}MdIlU<(&>+N~zwEGKV~IjB6wdy#-P(n96nv zt#u%&`+TVefp#C^<=C|e+r~TsJlnG+u_LwNInJ+t3{lc2|If1e%IO#2XqgA^u{eg- z(bCrfd*ma84Ghez{nm>)z1s_vp)jf-2CX&^x<|mY=9$PdM8<=8mW%3$4=e$bDCk_G z6t%r+@zYn*T#@1dk@bfn87GH()`nzuSdkwoktTmPOt3!da=j|C5?*wuHC8BhFB#@? zqYz{#%Uv2*BBK?T)c>t}WIo=rC|XRFj>CPwG!mo@jnjrml0@#%;&R6F`hskIq|V)# z)*_~W4`KTWdO9Vz;2@*<3duG{j8n+S#948;b?ZoyV4R|NE6SMMk`l5APLw8K*|+~3 zltBGerPj4xm^kVk0uAh^-K1r6tm=+z%tD^ z?b)!*_11JPB9^mNc@qR>HP?EgWJ_6c&D!7()uB11<;Oc4g}!)a3VW`CMD(mx;Mn4N zCUJzFF9_;5*9#sIp)*<90IoniaTpei(6a6o<$Q4pzxJp^9ATrh#8J4(H#l(P0_kGs zkrdSLp$yx5y6d4TG*&JqoZfHW50H#y0GgjD*+TSJ7!%QJ&kG%Oo05wdPh#*byE;2* zq!PoN)Ayz5&THVyfVi2f(J*h$N@XddJI&Djft0Qsw0oFe6)p7GRe?J69p^G7R)o5MjeWxl`n)`)V(7e3T| zs38&O$zJP_wh9`C>PB(<(60DdF@0gesFfD^ za$;CMz2~1xDZCSR?Ot8~I^T1L=7Ar{X}58*Eo-q$^dblf2j8dZUP#6cJl6W>5))K) zsA8&zV#J=?JYFvVW!K?NDhkT%8v-2bnHdfRI@zYR)#?yTkwm#DXFd?YDr8;&W6Sqk zVj5_R7gHlQsN?0B5Jk7w7pMj5_BmE1Jsn=IM%=YDU+xmA4ace(IR#M`Q|of{(~zKd z5SEKe*dj2d_df~*P$p4y--E144WKZ^9gC*Mh_{n%i}7rlwliwue9PMcVu@F`^JujJ++hvxz*l)IIo_4k-Z%EEia}8Wfm9|7&@9wchg|fLch+dC_J{r82R^^ za%SaO)n@{0?cpFwCK#d-6kJYcRd=EZ8D#7F4CgLPLcSCwYCA2M?n{knHqbIRgL1hr zKAH>i>+?{&)o&jkls)Qa!MyTv`0ihr&HCqqze(3@Vc$${72au$_s%?)lTe7)d8^D9 zex&b=D%%+w94dUU4Ae39_CDoEUMW)*xT{g4EU+8|P;yuDR#aAPek|)w`IH~YmVNmT z`QXZaVeq3MK@(+ZPCi|ezy91v&N#IVTcQ`@x&C@{nGszY-#jR799EO=mbQcW)Og^d zw%^o%p9`3KX|gwIGGsbywPCXVDl4!wV!oN-LqWusyzyz$y#sRQ++3Nz^Ru(@^T53M z%fy*?IWU{czIV6BsRL}| zg;^g%oAL@N8sEhmr9hs3xdOuxEm9Q4n;UB<)XZ3b0;#Xbd3g8giL28+mWjuT&#U(K zngXwr7JhwQb#|&}0oBA>DWfe|Vtc1xDFe!QbykHdEWb!kS38w$T!m(Eh3vH9iZg-> zcD|sTniNMn%qg1Uq|Rj*XEXQDYLY*a7LYaQ^+3TWGg`pC^(3t`Fln3(P0)f~vo!^9 z<8@KLCzlf>-#ru1_eC_ONXGWsyw#2_1VQc;%4CrpKrL%@P4cc*d{6?wsAWD@E#?Z2 zQboq&EPosZavVm~VfI=BwLqTArUdx8j33@bk~~dC9PedNkK4@5Nv)j`sXWvdc?Z;k`h7Aa8axdlrT) zM~J44Rxa%X4>uZ$FE}QQwcSvEE{pGlzAl$uEHOlX=8+5MQq;HD7>W+5$HG?sx{!DLy-Kx9*WQ!^Q0B`O3| ztuQrA?kS#_OYOLEQM~?Opv1>&CvawB<6M7k?S9#9@2b> zm&hxjAii{Y z=rf(A%;$1nxA}^w(In2}#iS{Kv9in}mX~TpI=LLac$rcvljUn!ZNCSAqg5qp_n8d1F{1r?7}7M1pYQq1vph&CJ97P8wBB3CbtX4f{aq7SC^QJn>B->!=BGFM zqIRV96TiN#mPb6P&8SGEkz~O3cBBDqyn>r5(rXrEi$@~85-LkMyzFumc{Aav9>H?E zJEHj3adsG!8vf}D*M>uGEJYQVDv8D7xd|Np=>!F4%)QAz_l-BUzR%{%qHB0LV>>o6 z-~KvCyu@NFvJD$vA#*zpSNT$#LgqUWBiJE3&ifWlOg1#Ys9f ztwQ8cA{Qwvx1s7+=&gS)X#*u@!b^a_gb$Aw(;WBPoG;Q;>3>2jfvV!iNhjhG=&4kY z1~j%n=_{)QFAFm)N{{20x5H$$^?2YNTv+4)g9blUi5T>1>v7!vo2>1|dnI!NcK;&H zGHxqB1*y~IJKMhrnL$I*U$dskoM%)yG}$CZyAxf2J<^Rg zr}Qo@kNvE_aCVNXFCCC5R64imx-r>=={?$^DXP?b^2M?d`yzc_qn7VBIO#6W)nyue zTrcLMaBZeY5(h*Ggwg02Y~TCo4RL-=l!62^gkJyFL#m>D|FG@hx*~H2Gm^UiO;aSq znP@Jw{QTmW+l{nzj8Y5@Hgod|8J`C8M}f%TKEoV0e)ZMheYD`KqfuABG*Y?)~p>q3EPnXzn`U8!~-*^B>IbNsvr_|`b! zn)1)wq=gfdX{-;O<6u5^s&Ch&Y;imW$Ng;jqQ|{ zz02#aENk8U)xnk&=w1tP)G!1(|F8RKcEo6lus>{kcNWSNqrB4lm*Wm)hx+30EtRSB4`^L7B_D0a zBPn&^#TGt?a`Mf#2bn+Akkq7KL9`;Y$t>E#txV|+LPq|CXFhIxq8w582h>O}Mjee_ z;>b{bBDcF42cpEZVAeWs&=U8k*AjpjYYPhnu)OIy!m=_d|F`1xU!@ZmxQo`1#SI*E z#qrn(uN03@@qi#mUs1|*`P4FL_!n~?7>QyK9jkCFRiE-NR z>Wv}8_-!DXS?+vBWjRiV^@wUWT<)JO7P>E-qPV+Gms~u&F-&$HebZOMwXttM{ zwv{Hn$PTv&Qqx8vFxnHP3EAqJ<}pAkTl zc33`~PMw)q$nbrUwKJre>mp-RX0vv{J9lK!;QFv~SMGmS`4o=CZn7;nR#TK6=A~S@{a9A#Te0c%_HU|M}H8{LX-TShe@{ zrBRFn{HpOlkq~+m690Rj+HTWc2>^)N_|o$TtqEc7l5ucZ-lbn{*q+)#=fBwSM(y(mXze|folUXM+MdV}lZg`ut&}oV4!v8#-~27l4nBBS zlo3)Q{n`iVS;IN85l ztr#-uj9bV_C3drTQyHAeeNtU_Ce*H}`3vF&0@E@l##;T->R`|3lm}s3szqK|o3svg z_gJeUK^E45U-)LxnS|}BI3b{@cmJc`-Pc`J3a8}woa9b<_jNPWdz1gBL@WH>8ot&+ zXyEP3@ycgv!ZLjA$LgDSU-^w=^8$-iloTZ$c%4G4rexrx(AsktnW$;BE!K!9Mo|6pRLT2U+y)tMgM+9C zX*q?8jVGbr#_@Y-V|oisC%>gJE8g5~UaRQGs+*i&n=RhejrkD%|E)`laQv4b9rF{- z3)0mE2+{zMvF|Jk@HjgI_nYN#I3P&tDR<=jmms|-FOS6k; z!f&U#Q7fJIE3JFiYO_|vR7Qf>46gmr`@3nVtQ}fgpZ8mwF(ki0`xIyv0-?1SEBYdS zmFp#xwcbfPD>8qMF-CxJ4`Z#hiBZHd^i=7a9!ntp!wKda>PMIbi`1U1$E8Ma zdw=PF<}lJCKM=ZF-@OO8W3IrGj;KW!<=;cP`4}^9N|UKI`6$Oho~^fFfT{0h__B@; zqJ;^C*;CD`#N+liP)T%Kuh3UhCXtof?Gg=@i=-lTN--XryRN5%Tdy5Pz#!jc+C6dWV!-WimxIf zYI_OZgBH?jprSJ0b3GwKyWVW4PAGb^+AYW9-6X~>)Yq=xy~0B|kiXCiWN_TlcaR(- zLIbaHa09a?Gy6+G%tv*Gi>sjJ)tt@E!|w~@=8Z|_`ril4>&*6zBF(~PPWH`=$<$Qe zLtn<-*<;sV#~;n?!*7fS7ks)i9OO9bqix+oxE+2jV5`iRbQCyGAb)+R%cIj;U?7O;F{_Q6)SD^*3|-sdpD3%7TBk}7IIFi9 zqKr+3&5r)d%n3=_6|ysfMg06e<13g4fJ=>2?a9SBVO_OO-*Ma*ryc6bUCKe9yw$mt zPF1`7Ks?B-S`rb%;QK?g;5eldN^8L@FKfX#LN{i5Ovb2M%UxB@=uVS2q1Hjlx{SgcXJ|gm=}1I6 zLECWd=)rX)^zv~oK(YAatb6a`JkpQ=ID~t*2K00&fqU-36sCc*qXvyUhQeHzPMw_--I!Se#YS%9RmUESaC+YMZuI^ep?{Jcowsq`JMBfyMS-he1V6v(n*1_^t?mRgX z!d?HiCGb8T$PwejYeC@MXhEyE-6x(pCzZjox%DXo{oEtt8$sf3(r2z_%7uLHJ630) zsh-E%JyM5{$qX^`39A&*hLrAbS^X>zNP)J`K=EHQ=(FFUPh)zy0qpxe)43k3X1DJZ zyfJWZBisX^dr9_E@61_F)g(F7tk)57@{>yzYlX$iLYxgHRnYuWj zWIlKD8c1iAR@s19Y2M;k3^*`0LWVXIZyXi7BpN|G%E9 z2dw`Q8=y3%n$U-yjMMoGZiidpK{?$(nd3MuxDtoJnXRQss_7!CDFc6KF)3rSY0w<| z945Tt^;(rAG`@-3rcOw>=WC+06*eAgYN}o1$79cy*gIpLhxu!^*IjFzoX=pnT?G^E zfi`+2#Bjo7ak(PbXrbqNQJ2Vw-c=TFoyZjzn(x!rh8e(4`fyerluxK|f|0f?DCxLB zHVdM;+u^zm#e6)KZXi)7Q3uC#F2hA=afO@O-^1h3iG9&U#A>$veAv zXtr%qmaya>C6F5TWb|8)YW`!?`> z`!uV-jzMQ#PMK@T4*(@3wW&HgmsTSSo`XK;w6-ri=O{iog}9pL+|+t-RH-FncJ22; ztwXDFq{RY+;*#w<7#Y!lR`jtm%~h%CEM~taXwRF9NyaGn5G#i|O{DJ`RS{S3I(Kvy z@Sv?B7C(Yaf0z%i05}xrb=OtekNZtVpSa8-1rrnkpR{?fTDpyDlz0Yn`|(-SyYA*V zRo97^IX)-aaU?8Ac^+?54iMQcJ~~0`V{DKYD4C$Q8~9U@7^2$Le{gWN&`CnZ#{9)Mz zJMAj16ML=?#XeIM6D-WuJ1i(%!hVvW*2xVzCet%}XlFmZFBsDY)$a4BO3lM(dw1vXfi)*rm-fniM>(ZdkuX&z2_OrsF^mE?xxM zjQ35SWl3_c9bi_0G{S|NApFmO!{|nuZN7y<-UCX!!-}~b`c;kKk`6DdlCzh)&Z#0#@>i+>D zkU@d=^FSJX@sZH-4D~GkXbLk`k{Y4VC|o)^9Jxp|sh(Ld^Is_x+4?5A4;Lbzyj^aMJS|Sgjc-0y5DQ}Ks{vn zcEm~?(r6*R0gOxM@^gyYn*(PIOTfU`SwewLJtFT>W!*bwTV)%Sg_$kp>L)uEiq&sN zR7OJbapwA41g*#Y?ASegWCf1G@e*qzt}XNdw&0Ih{?1M+Gg zoXuNLSdWjU?78OZg*V2DUIzt{x9|*QN=s6QW))4Iu1LfjT;FL4b%GLK0hUD1s@Ie0+pHZ~FZSFe9cP1{$v6f;6OdMF z;XcpQm1TwPa(o1W`__FevsuSnDTL>4s<)~OHyl%f6As71XDu%ZYGECp1QrX$_4!QG zne5rFMLN9;gQWffW&KuRyf|5%i`_@Lk{ctCiBnCtUKtamIaC9}jYur_bZ|4jLt z({6M0o5R8F`y+oY;rv7W&Q^d8DC>!vBzr-L!ULj|DTyyHXhG44U{$!WS6Q}kP1{ZV zwocX-ndaLhbnB`RMLSLy~>gaZ!%D8{{^O0TQ z<+7>@&o@TK(Dzmj&(fUz-hKG=1}1i4aU~u1Obhm;wqXk;+i&^GR@%lydlJLFD*nLL z)fH{n51h5fxN@7W^_STYzn9g#&vcFZKPO3<3h35=5aALt(4|H5BCcN9)?=R46ZKn| zjl(R`{00~|Y3Y879k5^~4$$taaV!U9ouy`l-0R6l5rh)iQ7X@U1SRTA(iZWdVA26D2OK;B1oTp@mKG zE316=_5Hx9_m~>@$C-_xZR^sZY0t8c(>WOssuyL0C`!{5rJhg5NYhXT_2hA2h!)0W z9DBc>j7V+-+6^LC5V(jR2*uC~k%{B0jnEq;J$@i#5tI7D$vYENW~ z>x3eKcth?NUuzy#mfOa=d`+6!g1ikU(|ine*&BhhwM<)-Rav%x?BX1L#-$1AX8++L z6DxDvjXe08$+*Tr=AfFl04HUTmv>YoWzo2)rK7F0X@+jW(Odkp-{d@uII-7pZ7qM_ zcrPzC9npA@=%xy^Q4k#l>-o`M&Q0~Rq0wfz*&NO;w?Xo4~KA=XK)pl(*%Cb;H zSn28fZ?@umXq!ySnKpCj?n%Y#+Y|Z+k&j#B>gR6uFtfb6n=v7MMcE_Q@b83;^?xoI z-*&$+79T}ADfJRJBD&cG##~lr?p8DZoBmcwO$A`$(T&B;vzX7%f(jVb2^rSysWPe9 z70u8=N%{}FlsvadN?MZ~>CpBV)%f3yjsI+ZUIxZ{V~nBzl|LTvnj_+({273f9S@k; z;tr_M)(mbiT^-=Qtv14YGtc2kF@PJ6_2{2V%&QD(4lsjL4&Ljz`Ol?3f2sxTq2A#6 z0nK&hOeBm^^UtM0#yq37xKsy-4fNV)+J}=5I?tgfx?0+J`}{!EdW>>^bhG_8STQZmCB2w&M^jQw zyA3>3eHI+-=SR2S?P>u(2fQ>~^80|hD}iTU{yXs2@W1U-!$UTkXMa>jil!Bl?GI@F z-Lyx*Yp7Y!Z-L1*@VbMJRhp*-&8c`nu)9fZe7|s&Tm zFkprxoo?MtZuUDIQw3gvpHcfl^9-2J;4CIV7lY5z>wx(b@C2C(&7IxRnNFHP~k-apZa@#*5d@h%*|$tR#0!2kD(4(2$)?r~HC zP2EFi?z#0sH64J#loj}m8Oq?*q^lqhaKa-v4#2m0!+V8+ zi|iWy=h8lyW(SO?Re>kLgwhz`8d(qwE+KdyfUUV&Ojnbn2GT9N$(i=^o^Z;qr*$jC zj63i~#tJb8j{WCSCD`$7oLbFMb77HxfjI}hB+c`C^NjU#)pONd@V*|N2Es8UGIwV# zy6L|~p0nl_e}&`kpB00t>WW^&)ULJ@3$K%ZF8Liq`z=P>FP%-CzbDEwQ2{I|@BTSY z+6RDx&m8q4ovLSs^fRW76$26%!Pb~k1e;bh<6e;iz~<+S8}r3+mINGO`CZ^XDE6$} zIS&?{MT6UO>I->U-!0~ES4o9^%NPZS3LAe}RV+M0TU@&+KG6x9wK^N0Eoh`__#JB5 zP&SLx70ej7dCy4nJ3gxy!BO%I48Z!apMvgt6$4kO*boIkFgx`cUPX&Z;?il-OXf{L z>-zE93qd{j{;$9PT;Oq2TYJBsk6czH3p`3LQL3+iFKNAhAz)?TR_CW~YGJW403)Ldn)F_91@h zU#;vcI=>B5P7(SKhMgs4es$KmB(%jZR#VJL3$(ViNG*+yCWYTvhBDyYG+o8e7{@KR z$=`0rbf%cUD8F<=*TW7fcRh|uiH6wyK%aBJC|yLa1wgFYztb)TZ~^hqH(o>^GLf#! zQ3Al210JFyUeHGgmpEEPG8SL_30%NUv2Pheg=y;=)RgyMl)q1|6a zUes^6IjpV*1D|5FomB;?vSX+e{am!^tk-|a5!qdI6cw2A^+34Q7t3KuUdT-x{%IYb zxfX|~4Ed5Lb1oY*?jWd0r+4{Mo_$zSl7s7FRr#e`=T;LwZe){rh7nBNJ1a%*S z_g0&Me`^WE{%F$0)lWcTd+;V1cq{PyTp06Q#9pBGyGk!UeTREpczr!zDp;bn9B8-2 zR5RvJJWkJdWdDUgU0-DYsHm2IF4e+Y4##N;tEBE};CC=l=v*%FZ16;}de`s5Y}al0 z2h{3pfZ9U$_~+6h(@yT*E^kjb<7$*1xM7?ww!StJBb)&HB}&DMG2#zeTFUQk%HQ){ zhw9W$r>AriZVe=Z39^g@;DM-1PyDq?_7upK5HG6wq3ZIW4!W4m^L${}l)V8h)i;ot zLko+y;Zc9%U{_mgbJpI|5*Lzj4!P_iroi#H=;aP(!Y_ZMQzfZ>=o3$aB2;szttW8H z0?%j146rv5tk11?)7790U?=dnCWCp0*g#BQ;H9Qfp3Y^MqnBc)y7@rAR5|uYH!b^b1xd`baz41-ZqhZUH?HKulhHBOb+bm5%dQC|;+XR# zD3n5L(=XeH*xoI!MHyOf*#-DaCTEFjMVeY65IJi_UddU$L}|i{={qDM#r8B?PFISt zZyK{(@ohuL20fLuRp=Jo*i=V0NAGdZ*$<4**7Kt5*ypK4$R{UV}m zjnl{Q>)ZNDbM0}R%Vk9Fb74ko5Rz2eHP_NQiFFfv6(8x-B1D6Rr4qd%Ltg+h7`w`9$hXC!atcFNN27eilV*4H7`x0J zRA*#&{wrX%295PITFhvFW)v#xXkmTo>MKoH*8@ zhFi-7)}1OiL51;IghiB`4J2t?J{D4D)WQQj!KC`Wu3Kk#ctcF(`hI7N+)~?&(YBll zZU{Tq)x2_T%}s1~t~b&z3JdVS(PnRGnT$J? zgL`Y?M3DyU{RABb0Gdivqy|zI>A-4FPL9qkfCJO99`HT@+w=CPZWQbjso16WpGyE7 zHXz!r_-y#%{XV!J+;mY0uDUQ-WH1=3i|2tp)t%|UDjIOML&HuKU%dS1l6BDPqUZvc zBuY)`CUOC(UR~oCz$Rd=TP_JyN5yu)Yn&l~MY5s0_EeW)fsM9cC}U5apSO1bkdObn z)qVv?7^&ovi_t#y@MIy3ZvJ-F7QDDsi2GT%OyyhP-=Y>{QNNi~A@6ho7D4x&m)GaCT_FsI%J1aj`+A@x^fCJ(b#fM*44mdp|JJws^-Q zJv*L~J|;EvG5<|~rIVy5_j>fq+_RG~^Oez-py^aibJHP})Ph2+-|~+C)J9W5_5z%( zhAz2|?crczOo*~IDI!)>{|Hx=%Z<>$2yvQ6e%MtuGVekKa=d#()L6RRH8nCJzTBA0 zX{cK`@#g#77Huw8g`qiE38+Pxy-(1iM3s@rj7|Io?1Wz*INQEVZz)kfuL|ItMhe;T zLkfH!VfTX6qGR}p&!H^OY>ouD2}!siQTq{roiBb1?se=17jcm$ zz13hpebmMeI+rH(4_aI`4bu;9;7uwEW-)%=VY^Hdcm6j$eX8ho*n|@^)?0_t%<;D!TINkJlaU`9Z&09TxP{5*{lBVGw=h zgSMqSS`%qJ{k{-bxTID2Oc~f+UvODI?@fAgbTq&Nvdm7L2>XBD%MU)1Nc+y%+-yE6S0=r-m2Da=*L# z2K_`zB7DeOGD^8|q1INyct?P3`l%*=?p})QUeKEa3TW7?V~bpiD#d7mwmrBplpA>x zmI#*oK$33lALIQ|m{&iuYFpZsDDl0;93@5Hf?|Yw{ty4-VyxJr=t81Vs>UbX{kKlM9jPmp_|Ln)3^+iyGqc#4H+YN$LE3q z*4bm4;S{j4G%8dFKr3IKSip$ZzCR|GeXITa;#`onCXq4DvVLZH=YVkBk#^=b8xiP* zk_{qi6cis@VgA&QE`7nL@SAq*CbS@f!#cA^Qm+scuXf^)-}N1V@|{~bTcN&kb~)O8 zvD(z`uwrutQpss`F{+rd)5i zWo)SRX$9Xw^?oSLPTAp(8tjbQ{`prO_3cNgaz>K7!SP8AK$iHUscf50(~hGw^t8XJ zU-qaeO4nq-N%;T0zkC^>35dpAhIy^e#fR()?i*W?5osN_(Z)n*TsL=z`rYOjWt#uG zptgU_p86;|V{)_qc%f-OtylqrG^}uBp?G?RdqtMf5GG&LF9hcXkCILeBY-v}k?hbO z$noCu>s!>@5v5G4I8$}>m}=aqq@{HQLC-C`_XS43+E*Q}LD9s?<>Hre(pZF@x~z*f z)Pc_*W}S4nJ2eLL(n86EO0B=JMNgO5l?x!9_`=dZ%NbrJuItD7s*`~ZkNiljZrC37 z+!2Nu(7V%d@ec0u$zQQ&waGsAxHPn!q!HBTMc`Nv>%AG|(g^3&6CM<9ip%ulaQ6%k zBX%>-FD$63IFj0D6H9&U&Y-DL{N%X}+ITFPCZ|GF5TUk?@%POtFTDnN@kcJZ}BUo|mR zX}jRc*mBG zT5F+mwonr<(z|3~7-HZa7MKXqdE=WmQ=IU)ed>FZ$r?Dx$&;EF>d@!_QYKXU(2dD? zyS-Ecyq7+F#vVu^w8}J2-LlG%H!jtivBedS=6#dR3ZDeC z0GqAol@-RnDRRK>>MiS|$F?hAyyqE2hW6hK6M%G9`p8p&jD{+=+gaPM77UA8svWi$ za?%dMxpj`O4}V<6MSpN1>69)w`bEs`Eh!TfEDJA0wzp2pO0!zd$Va5UEzg4?p2r`NG9g_cKpO>Wi=Hr$IoZlpk&wHm%;l>SUs~cu z>XM=ns-sjX_v^MTKKjYuY%7n_oz#w=OqJ23^k=hq~g2DzIGaW2NqXHD8)itm;nP%>ZBqYZmndvr2PQEIn&wIzA6L#wq1 zbRjc}DV)bw+Zsjq>xoEgHlo+JC^tq(aX3sttQGbzwK14&fHeRBFL(sk=*yF+OE-O)25V3g!m2<#;jGa%6j3D3AVis6bRL6~BcO;FK?cq~5ui#b;wwV8 zzfstmN_H365o8uaGNU`1AbOLAAvPxyJ8uj)exX|v3d11Xlg9^FXqmsAhX_=?YFQXV zRI(ZOtZ)Jm>R~^TQ(1?ZTT2rpJ#}e;7$kE5R662HxGjc8Cy=_tx$G_ za)vr>F;KhgaNF!Ci90pCe3Ui?OT1p`IXGr~vdP$=fJh%$w@Kk!YSNC|O#KCth{coiLfQQY`Aex0zfI3Q%- z&9BEkZ+2HBBI?!67e-OmgzQLH>5xd9`i@A&tMlGE2R-AFqPc4z{m);9j+~~+QP#2L z+uyWLoDbJa!lb^P;wQ66y=C841UY?X`@6+Qnlbr1Ep@p0%$hi|Q0Zca+YSDwps(nt_*ccIoSON!2-}(W-XW*j; z>Bhe%_<4vluH305ch*j+`GfnM%v1N~0tpAKD_z~yE3{y%+S&$+&uoXT{C8vp&DezU z>@_-+q9@1%RVnhx_qb`F{bJLS|4H4+fqu>}>z+bJDqZYV#FCSO5IYtYz>_TF?)4@Q zY0B6B)i*gWcTUyC9F+TuY1!$nB{~6RVzKa~PPKgYW|r=-x@iH0-5RCtY1im$M9SJ> z5P*eKlfg@Ork%jgopx45=z>1L-)=B~gI&Wo9^mBCYPKMg)pV%|K>NmxLZLMOGA#Xe z#C;L|PqQ3}YSkiVM6=y|M?kUh*L*bPaqc2;w?Z%Qb$wK_4n++25NHns9sRHJ&NQ6u z^l$sqc3MhNEwwYPt;D`BDfcjRLPc${Q=^JlQ&ea$Z3VTqmeATpH5851z6F&8gO=KN zvQ&+wl~|)9bN@R3|MNUE$8*29kNbGuJ;#wZd70$;<+`r(d!C>39Wu1?yx%O=Xi_l+ zKa$?#Z-A1#RsBm_%~-RReQlMEk|olOJ(do?T5>&A2;rek_0Nd8r!AnO;FHQ&HR@3@ zZuEl!;;aeYt0rSbthxaHrd-L=Mm_NC%k{f}t`=@uFJG3k?{r-76}8+j-E;3_4gkNL zCdu8tO}SlSVh_2q8XB}Kt)1=R+k3x7T6V-8(9#+_teZ+c&p~$Y?MxFHC57=K$S^<_ zW!!hpwa;t4uRglGR1eo*Sub_+T|3qrKNvk($@_4&=lAcA$DiDF^m+WpSs?$ity`F| zl$O>GdAS?9+ZZ4!q&sX>Lk}FJpyxij;UwFMm$oJtrA(97kB~`DMtV1dS+V!4=M86Jt-n){S z_F~2x-j2o=vHaTZ_!NI?y-@=q!TRWRO_M5m;^_`~Rz=w%%@aOW=&MSTWak=tod5vX z-h2h8tg~vcQo=j~AwH81BzssC+#IY&)$r6Au;bP2_Z{P(Q&+V{l4Oh4vd7&Lds`{qlo?JXQTm$neh{CD`_@^w^cAK+U)I_tfS6|+4sH0w zc*0$lKz(D5$VVwxcMK@Mw0YDAm%N;SJD`>NOkI2Lj^kkjVR&8T<0J{b+yt$UhWrt` zzYf=POy~<8f_X@%yk9PvlDhes%+wn4WQ?D6n(q*RoRsOGfaPShukT+u~l`IBERwqIz@7Mz?>B=T?fYt6J^HqV`t{ z-08;)Tc;w_>b?>-^e@jGI$;)9tLmS?%0v*{Ji4dgul0o@Y)GjsY%%{Inb+W z(*?OMq98%dRjL=;?}r=$1Dn&T$DMnnGhr09a=Pi6xxla8+J0Iys>!ynyE!nR?DsQZ;6E_WSJ=Dq{jZl{+OMY%7*V zT>S#~ZhiMg*rdvN#$v}>AgvshRoAy*SAe(&I>|JQll znSE3^YN|%bM-wi*)^-(Q7G9mTZt6U_)iiY2BxUBU6=Tcu+iQ)V&MKWI#F%(!evv!Z z(4jp98qmoGbh`;ru++IT(xNDEjE|I`lI!rx#kT5+?7uK#5KE=2W}20veWsewqQG8D z6I^$y?dzAjgi=p1aP7Y1Z0GYgo#4M3vi=tXSilGk5X_U}ud)1X>$)a%f&SoCqET+V zJj;`Lon&wAPZvm9(rCcU0nzhO_0MX-Vd9f`m0-Ea$X8pNXjXkap`mjOW&ZLHaZbj@ z$HQLKi%y6ozylBvwxRAwcAU>;w6awu%Iq`X5$V);$ov1-S5=dYBiZ;VK)uL9T}K?L za>n=F!X91zW6G**I$9Z~&6L6G5Ka%1l0N4*n8 zhn-lk$rY?yo`%c25g>ZX6fvkO`UR}YG((>&BrlYoTc_4J#sOB#b0xX(BQ-f{TeV{# zl00%Itt!+l$K}=k{nQbpIagc;u;Lvq0!P6o)Es)zfIZF~J(h#LLL7gR}CnqHZ&kv^ifusXd9+Wo&IQjdI=6J9kl>f-&C7Ya0kUq|_8Qq1Hl11Xx$H4kN6>D=vMn8`= zN?nkOk!xX;rhMK_5DhX-@iDMqMVpt(4K>tiy>))Kjaq61(W+qYHQFl7C2!aJ+m~E0 zM1lNfJYcdL5TAhdrKw^AdVp`Z^jIzc#atyvvZghD+j)J@fi(F>sBZVoQxbJ0`R#Q1 zGwKTZogWyc(5%@n;>>4{6%WVT=K=An3uqVT#wyM&_9@^4-D7nSIZ7Wm+^hsk&IeXM zEhxm8b4mYKb`0fhdje@Wd2Ej5-S>01PzczG>S+#b8O{E(Lu|p`AV4gBFvo13|BNANWW-p zo(>ohOzO9t-Lc17=GJcxW*UnWf1qrU*da{C)1>+#f;huk>;WAJLZk`oEzE0|DvM2GOx3uvfc8;-dM*ETV2A9z$90^L8OmXL!WhWs)YS>FN@He&;09Ah1bdZ0x(R zq5>%ir{>Hfsys-(>S+W|)$~hl`KeK$tKz(2y8+@ZyIBH(fj zN*}P68S3gJ({tP3$ZIUH6zVVXTJkf5|D`)nr*GkPxE0QAW-|)j6f~72EnFv>{NOFY z0!j7t>V!`+pJBAM-qkH%pMLW9)a^T9%>hR_N_MPbDp29Ap7G~*CmW5g>G4_{ z?l*51x_BM+Me@Zl#esnrJr+=E&tqys_i+60SNUkHl zwsraT6Het%zelOQ*A$SU$s{9%iddm|WhWLuVf%6uYtCzyD+``iO2eW_)K`7lk$0^` zRs2uK0~3=TL(UoaoL)B_|2STg!G6kWA;FXw>eS&p+I{!io|lY0^=&2z&eikSjNe-F zt(hh`+L?yYrg?orYw3T4ME)2Z`#c+X{#IAVOeLQC>4p;oQY+oLyfB)pD2wFZ)`tYa zo{;HE43$y_gLc;w$6N-X#kK%I#F;DY#c`gIuI*>j@`ZY++>o=xip#r8f%!n@%@vnN z4}=_vSm7*d2Jusum8dmTs<>;s9zbE+pdcJITO}<-9nn^H9AL6~C+ycZtmyqP;E^eh zAJcQ|9CSh50jv_H$r;q~?-Tq(fXP6QK#JBP>!JIsD*F9qwk`95CqKCdd~;q(!ZCB- zcz`n?U;5!#NK-e+hvlYqH$z2ViW1(q)-*Jv{H)@Xl>XJ4UZuED{^ynUc2*HN?TDaN z4h9)8N*%d?6&CqS0MU%5KYc>g{jS}vv||WbGy}iy9b`i8u4m1Z&TLO4kmNW+!$|cb zBlg7~=msOeDwND*-!3u#&RY5mXx~fc9^FJ`ngd7e1bG2o_|}@B$)o9p*eL7hLwq8$ z8(kvq?iG51vO8|y(9OS6`*qI-q+44R<-CUnRx!hrXvziD-}sYDF9dc8Fiamc9_p$l zki~1dXM;aueoB=~HAb!yCZbd=ztHAyjOxT`%^f&T>lO~Fia_c+C-AR7D=;)-V7|q^ zZ`v%K(KVU&iqDSY6TqA1XQpm8PfDhQSQ#c@z9HkJK6h#(OJo|Ar zS&+%^lRQ}OQ6r!NHI+%byB}HQX$DReEDpAm6?BVa%&16<7Y9SNMcgt)&RRArbQ)>1 z{W0`@Z^q3Li2zfvc3ny?^5zbXduo*?Pst1jj@Lm2)FruYHVG#9 z{dJt5vwkn7bAR@Akcjfg(BpqpTGtmQrWS=$o7%8%Y-)>>uw^>+C()T)sf{|EUc$r|g57Uxv6AJauV(8U z3C4bTH5}H!B5t{S*j)uSNE6dEu<@|Lfe2|t{vAEXc|cn@y_dEzj`QYIkqWfSgNvqL zGs>OPDt1mvg!_F#TFngFS2J8oAQ@Qna6QmLMp08HG1w8CCi-d^pTyyCp*NF4@>a#M zPFJm7R@n-q6e|t!dRmp|NqPuhH^V9?xDf9ch|#t;tvJAcZi8aa@~jM1?=d5Yl7*%+ zR?(4dm6N*Gv+2%Wa?HxqJ?@YfQ)~o1F7Stze6qC4^y%ViFZczE(>P42AC`6BtZtO8 z`63`zq3~G#L66-KBR4$KaM4I3U1(ibxk=I8kMKvkyYbZQ8Sb8OLbOF zTzZG0HWsd)Uz_K*lnkxhf%fK*qrIr?f3AW5?z?ZOJBmnB7nl_U1)jtxpqpf?=WDK) z0?Ue*n}S3H&YHlO!PF z4WxV8EMJC<4|MP$k@S|^D}3JQ_3VA18(9hy9Bg)R@yLJ z-%xjRbQmiGK;6xH@4u=aM~MNbJ8P@^I7L{4OE6pb=qHxhphRUF?K-JksuNu{H8(i8 zf6%)m_@<#jLqgTx`$J=#^8C-t(uXFZ8~}B9(tapFO_BQ8v6oSyRt-Ry?J?TPby4!d zd*|*GKE3%8QF%^U4-45)HVC$G%LA$s+DiM8zBE{vyAh7+pPGBsPg>E>AQ}knyePAk zXP%O;s8~ZN@;UB1ULCn;{{1)hIMmTQG@uYw6qY=WfQQ=lk6ZXRZf4FCPOA zMA}Y|Sir}T&zcQc1hbUmaP!NuTw+x8ZGsp9*yb|IeqX9u3@@G^T?@GvD_`-_s#JgM z#b{tczloCGVm`Yl-o2yK=-MK-_Mk=Z=oV)JXsljNzj9pAeJ2ehaEUYFr8b_u;oRM! zxd;^ga3$8hXu{a0lnN^9wP4b!c~#A(c8E)t+M5Y6(g%>qy*Q9lG7PBSiiMme2g74^qRsn4k zOe={o2Leir-H5P@4RGZybwO`Th3#803m5yS)~v_M_kpRNbB2nA^6WiN`;5Se;$Q{Y zi;w!ip|&{)8AHGgHv%}kPXX$*F|=y}>`D*21Q(#G17Frf_D|cM$PSu*TJ6i$w$7=h zn)$-C`Njt8j*Y+M>CXQpPlx?mp58|k!QO8;gckn=WHbnFQ6pTYq6|0k9$9g?rco`xkHMvowfC==(Qs2xm335CYEw{fjqr znW7;e_zjkecWXicu-tbID$$+JPvZaafXX~JZ5G&!iemUWPH@0%{tqA9S$C!{1esop z7hTgh$vN}G<1ls*rBLXkJmdKbow@x7;wc1q@ut1(ehT0%p)Di5^7J zU`;o)mD6SAMufo)sCbhkj7tiQ^X4kJweg{kf-oqOiWROrY8ktp%JR-6XwalJDGRGy zrQy?pNO|&MlGAfarQsOao-<5K6|Qougb4*vm<2a%cz_Bv^*$d4i`^oVL|!=rB(=;k zFSKcc$@lD^7`DW)8QJ{=RvJ@+{5(35aFJ>{n?Nb4!n2Z{vVRQn4K|TLLb-oQ615L{ zZ|>0D+1fI$6DMQS+&S5VyYqGE`sij@l<~YZBq5k4*&vgxTe? z5Ir+Rp{9aLeZ}Ho$@RaR2?ERWn@st-ipprcaSg}|hpOQu6)vDrHb5VFeAo-*Jcs8j zJ>(SKv@ed=j*+#Aqw@V2RSJ+JQB#S(Y|x|z`&D4xV)0tD7ApI(58-+dgG(Ze4(phg zfTzj};_Ih+kce+OPM`yb{Cn>Cte6LQ%t}-s5Q30^*p2Lb)n9o_T(=*nj~TFxq*@`o zUCGeMpCAqUfB6e8iTF-%NT9@pa|-I*t@8D$8!a$l5utFIgN> z%-uFh2IkVYR{(`FDm;(TKBd5Q#Ge*|`FP3o(OC?JlpGN%n;5e~g#Yx}S zjmJIgUH|Fk>L>21J@_12N>!ZMk@p2`$AS0cVRL6QtHo14dV5DdU<@#K5@HYUqLz+z zkKQK;tz)_*A!`2IV?!WZXN3^t-cV!XEvY`yE5G1W&;r?5hfkQF={Y^bmAnY0z6=vT z(G9nb4z%3Y-PNKOpG6hL97CZ{4TmDsYboWX_3a)xOp_w0m8c(RoS;)`oGxAK9Bl_h z93DAL)b0fhgoR1!)JrP=FfSx{^4^c%e-qIjn$=ogaQ*0?w>ZCh?h;SZDS>l((%?qw zy@ldc`!IS94Cb+?uopTYAMmYc)p^{ZQXH}Ju)cGCaiDWWu_KHDk-wdN^?xLw{X0?v zZ2LPDU}py-gKQcI6HTUE$eo_KA}_`Nz3rk?~)mf9vcTkGG&w~CP>&3z{jZb;yx&15F z8=d*~HDLNE|C{N<^o$2!nPl9QVFd+2R#`umUq7;1<_vsI-mLLsKKmRh%d(F1dx>%# zH~C?Gxp5KKfeb)~MvkL2aeqvSXQ4mSjhsre_TseeXL0u;Ub(S(3jy}Cg8{#Xs*3)8 zabWm_0kKrXTJe+jTzK(~7Zsk?NsCS?E(KMzfXO1wyYWjgQAW8KrPd*^_wNxS@lWcQ z@tHg*spRC8nJhkpiG&Yp*sTA&I1vzuhz0W}Rm6l1xvav|r84tQ+O0v7>0mR<;+|_AD&TRi41iBA1FTSw}=C z)CT1rMC(t#nDAPLUs!W=BKfk>tB`PGrdkO_!*2fjXut(J{V1EAG@Yy@= zN$G){BLM!V8CU_zJsU?YMXs&jN&Ff78rveiK>beY)-2C`>?bml*O`J-u(4 z|5Bn5!VaMhfh_B?Nc*OKCENt{N>;Qh%XlBjy#jVG2;Ug--wT!fU0bC^IA^t5Gw((} z-^2dV-XXbnMMZH9wN%|lc%|y6WXGt>ie9zKNg-@cTK@^AOyZ%U%xb(CrMnSqNWbwY zMWZO}?fD3_v~d5YHcLeyHR8#F0kytgYrWC?xz+y9{CJ?55~qIb9nZ8eKb1-uT0YYy z#`Za`M1dGe-EbMcWuyefd2@pjb^^dm`ESyzN%uq4GYNh`Jc{U+@MupxZCNz3(`t;k z{zamukncyZ5>?gRHc7NGsB#=#j)d=!V_W(}dkKYTX4`S7H2JzzDMG=wz_$VV!=p48 zl}kPuH5ui(e%h5rPbxR5_N7zI$ck0BPJ_wZ<0i2Dx$;VqDSvAR`E|!bM2YH(K~dTR z!nJ|z8|8^??f!ARRYgMaZ9~6vl^1&#{J-U0VaS-NvJ_XSbvnr*`&_D&P* z|JBD^I^p);Q+MC8PC_R({``&)<@%CkYtF`7xj9a`e8i|Nl&t- - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -textureMode(NORMALIZED);
    -
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(60, 50, 0, 0, 0);
    -vertex(60, 15, 0, 0, 1); 
    -vertex(95, 50, 0, 1, 1);
    -vertex(60, 85, 0, 1, 0);
    -vertex(25, 50, 0, 0, 0);
    -vertex(60, 15, 0, 0, 1);
    -endShape();
    -
    -noStroke();
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(160, 50, 0, 1, 1);
    -vertex(160, 15, 0, 0, 1);
    -vertex(195, 50, 0, 1, 0);
    -vertex(160, 85, 0, 0, 0);
    -vertex(125, 50, 0, 0, 1);
    -endShape();
    -
    -stroke(0,0,255);
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(260, 50, 0, 1, 0);
    -vertex(260, 15, 0, 0, 1);
    -vertex(295, 50, 0, 1, 1);
    -vertex(260, 85, 0, 1, 0);
    -vertex(260, 15, 0, 0, 0);
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(360, 50, 0, 0.5, 0.5);
    -vertex(360, 15, 0, 0, 1);
    -vertex(395, 50, 0, 1, 1);
    -vertex(325, 50, 0, 1, 0);
    -vertex(360, 15, 0, 0, 0);
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(460, 50, 0, 1, 1);
    -vertex(460, 15, 0, 0, 0);
    -vertex(460, 85, 0, 0, 1);
    -vertex(425, 50, 0, 1, 0);
    -vertex(460, 15, 0, 1, 1); 
    -endShape();
    -
    -strokeWeight(2);
    -stroke(0,128,128);
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(60, 150, 0, 1, 1);
    -vertex(95, 150, 0, 1, 0);
    -vertex(60, 185, 0, 0, 1);
    -vertex(25, 150, 0, 0, 0);
    -vertex(60, 115, 0, 0, 1);
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(160, 115, 0, 0.5, 0.5);
    -vertex(195, 150, 0, 0, 1);
    -vertex(160, 185, 0, 0.5, 1); 
    -vertex(125, 150, 0, 1, 0.5);
    -vertex(160, 115, 0, 1, 1);
    -endShape();
    -
    -noStroke();
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(260, 150, 0, 0, 1);
    -vertex(260, 115, 0, 1, 0); 
    -vertex(295, 150, 0, 1, 1);
    -vertex(260, 185, 0, 0, 0);
    -endShape();
    -
    -noStroke();
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(360, 150, 0, 1, 1);
    -vertex(360, 115, 0, 0, 1);
    -vertex(395, 150, 0, 1, 0);
    -endShape();
    -
    -beginShape(TRIANGLE_FAN);
    -texture(img);
    -vertex(460, 150, 0, 1, 1);
    -vertex(460, 115, 0, 0, 0);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/triangle_fan/triangle_fan.pjs b/examples/seneca/bug650/tests/triangle_fan/triangle_fan.pjs deleted file mode 100644 index dcbe81280..000000000 --- a/examples/seneca/bug650/tests/triangle_fan/triangle_fan.pjs +++ /dev/null @@ -1,101 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); - -textureMode(NORMALIZED); - -beginShape(TRIANGLE_FAN); -texture(img); -vertex(60, 50, 0, 0, 0); -vertex(60, 15, 0, 0, 1); -vertex(95, 50, 0, 1, 1); -vertex(60, 85, 0, 1, 0); -vertex(25, 50, 0, 0, 0); -vertex(60, 15, 0, 0, 1); -endShape(); - -noStroke(); -beginShape(TRIANGLE_FAN); -texture(img); -vertex(160, 50, 0, 1, 1); -vertex(160, 15, 0, 0, 1); -vertex(195, 50, 0, 1, 0); -vertex(160, 85, 0, 0, 0); -vertex(125, 50, 0, 0, 1); -endShape(); - -stroke(0,0,255); -beginShape(TRIANGLE_FAN); -texture(img); -vertex(260, 50, 0, 1, 0); -vertex(260, 15, 0, 0, 1); -vertex(295, 50, 0, 1, 1); -vertex(260, 85, 0, 1, 0); -vertex(260, 15, 0, 0, 0); -endShape(); - -beginShape(TRIANGLE_FAN); -texture(img); -vertex(360, 50, 0, 0.5, 0.5); -vertex(360, 15, 0, 0, 1); -vertex(395, 50, 0, 1, 1); -vertex(325, 50, 0, 1, 0); -vertex(360, 15, 0, 0, 0); -endShape(); - -beginShape(TRIANGLE_FAN); -texture(img); -vertex(460, 50, 0, 1, 1); -vertex(460, 15, 0, 0, 0); -vertex(460, 85, 0, 0, 1); -vertex(425, 50, 0, 1, 0); -vertex(460, 15, 0, 1, 1); -endShape(); - -strokeWeight(2); -stroke(0,128,128); -beginShape(TRIANGLE_FAN); -texture(img); -vertex(60, 150, 0, 1, 1); -vertex(95, 150, 0, 1, 0); -vertex(60, 185, 0, 0, 1); -vertex(25, 150, 0, 0, 0); -vertex(60, 115, 0, 0, 1); -endShape(); - -beginShape(TRIANGLE_FAN); -texture(img); -vertex(160, 115, 0, 0.5, 0.5); -vertex(195, 150, 0, 0, 1); -vertex(160, 185, 0, 0.5, 1); -vertex(125, 150, 0, 1, 0.5); -vertex(160, 115, 0, 1, 1); -endShape(); - -noStroke(); -beginShape(TRIANGLE_FAN); -texture(img); -vertex(260, 150, 0, 0, 1); -vertex(260, 115, 0, 1, 0); -vertex(295, 150, 0, 1, 1); -vertex(260, 185, 0, 0, 0); -endShape(); - -noStroke(); -beginShape(TRIANGLE_FAN); -texture(img); -vertex(360, 150, 0, 1, 1); -vertex(360, 115, 0, 0, 1); -vertex(395, 150, 0, 1, 0); -endShape(); - -beginShape(TRIANGLE_FAN); -texture(img); -vertex(460, 150, 0, 1, 1); -vertex(460, 115, 0, 0, 0); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/triangle_strip/berlin-1.jpg b/examples/seneca/bug650/tests/triangle_strip/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/triangle_strip/p5_result.jpg b/examples/seneca/bug650/tests/triangle_strip/p5_result.jpg deleted file mode 100644 index cc5e3044456eb3b0a1da02b1ecf675db4e21e994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88451 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 - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -textureMode(NORMALIZED);
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(30, 75, 0, 0, 0);
    -vertex(40, 20, 0, 1, 0);
    -vertex(50, 75, 0, 0, 1);
    -vertex(60, 20, 0, 1, 1);
    -vertex(70, 75, 0, 0, 0);
    -vertex(80, 20, 0, 1, 0);
    -vertex(90, 75, 0, 1, 1);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(130, 75, 0, 0, 0);
    -vertex(140, 20, 0, 1, 0);
    -vertex(150, 75, 0, 0, 1);
    -vertex(160, 20, 0, 1, 1);
    -vertex(170, 75, 0, 1, 0);
    -vertex(180, 20, 0, 1, 1);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(230, 75, 0 ,0, 1);
    -vertex(240, 20, 0 ,0, 1);
    -vertex(250, 75, 0 ,1, 1);
    -vertex(260, 20, 0 ,0, 0);
    -vertex(270, 75, 0 ,1, 0);
    -vertex(290, 75, 0 ,0, 1);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(330, 75, 0, 0, 0);
    -vertex(340, 20, 0, 1, 0);
    -vertex(350, 75, 0, 0, 1);
    -vertex(360, 20, 0, 1, 1);
    -vertex(380, 20, 0, 0, 0);
    -vertex(390, 75, 0, 1, 1);
    -endShape();
    -
    -stroke(0,255,0);
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(430, 75, 0 ,1, 0);
    -vertex(440, 20, 0 ,0, 1);
    -vertex(450, 75, 0 ,1, 1);
    -vertex(470, 75, 0 ,0, 1);
    -vertex(480, 20, 0 ,0, 0);
    -vertex(490, 75, 0 ,1, 0);
    -endShape();
    -
    -noStroke();
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(30, 175, 0 ,0, 1);
    -vertex(40, 120, 0 ,1, 1);
    -vertex(60, 120, 0 ,1, 0);
    -vertex(70, 175, 0 ,0, 0);
    -vertex(80, 120, 0 ,1, 1);
    -vertex(90, 175, 0 ,0, 1);
    -endShape();
    -
    -stroke(128,0,128);
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(130, 175, 0 ,0, 1);
    -vertex(150, 175, 0 ,1, 1);
    -vertex(160, 120, 0 ,1, 0);
    -vertex(170, 175, 0 ,0, 0);
    -vertex(180, 120, 0 ,1, 1);
    -vertex(190, 175, 0 ,1, 0);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(240, 120, 0 ,0, 1);
    -vertex(250, 175, 0 ,1, 0);
    -vertex(260, 120, 0 ,1, 1);
    -vertex(270, 175, 0 ,0, 1);
    -vertex(280, 120, 0 ,1, 1);
    -vertex(290, 175, 0 ,1, 0);
    -endShape();
    -
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(330, 175, 0 ,0, 1);
    -vertex(340, 120, 0 ,1, 1);
    -vertex(350, 175, 0 ,1, 0);
    -vertex(360, 120, 0 ,0, 1);
    -vertex(370, 175, 0 ,0, 0);
    -endShape();
    -
    -noStroke();
    -beginShape(TRIANGLE_STRIP);
    -texture(img);
    -vertex(430, 175, 0 ,0, 1);
    -vertex(440, 120, 0 ,1, 1);
    -vertex(450, 175, 0 ,0, 0);
    -vertex(460, 120, 0 ,1, 0);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/triangle_strip/triangle_strip.pjs b/examples/seneca/bug650/tests/triangle_strip/triangle_strip.pjs deleted file mode 100644 index 8d1333617..000000000 --- a/examples/seneca/bug650/tests/triangle_strip/triangle_strip.pjs +++ /dev/null @@ -1,112 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); - -textureMode(NORMALIZED); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(30, 75, 0, 0, 0); -vertex(40, 20, 0, 1, 0); -vertex(50, 75, 0, 0, 1); -vertex(60, 20, 0, 1, 1); -vertex(70, 75, 0, 0, 0); -vertex(80, 20, 0, 1, 0); -vertex(90, 75, 0, 1, 1); -endShape(); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(130, 75, 0, 0, 0); -vertex(140, 20, 0, 1, 0); -vertex(150, 75, 0, 0, 1); -vertex(160, 20, 0, 1, 1); -vertex(170, 75, 0, 1, 0); -vertex(180, 20, 0, 1, 1); -endShape(); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(230, 75, 0 ,0, 1); -vertex(240, 20, 0 ,0, 1); -vertex(250, 75, 0 ,1, 1); -vertex(260, 20, 0 ,0, 0); -vertex(270, 75, 0 ,1, 0); -vertex(290, 75, 0 ,0, 1); -endShape(); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(330, 75, 0, 0, 0); -vertex(340, 20, 0, 1, 0); -vertex(350, 75, 0, 0, 1); -vertex(360, 20, 0, 1, 1); -vertex(380, 20, 0, 0, 0); -vertex(390, 75, 0, 1, 1); -endShape(); - -stroke(0,255,0); -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(430, 75, 0 ,1, 0); -vertex(440, 20, 0 ,0, 1); -vertex(450, 75, 0 ,1, 1); -vertex(470, 75, 0 ,0, 1); -vertex(480, 20, 0 ,0, 0); -vertex(490, 75, 0 ,1, 0); -endShape(); - -noStroke(); -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(30, 175, 0 ,0, 1); -vertex(40, 120, 0 ,1, 1); -vertex(60, 120, 0 ,1, 0); -vertex(70, 175, 0 ,0, 0); -vertex(80, 120, 0 ,1, 1); -vertex(90, 175, 0 ,0, 1); -endShape(); - -stroke(128,0,128); -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(130, 175, 0 ,0, 1); -vertex(150, 175, 0 ,1, 1); -vertex(160, 120, 0 ,1, 0); -vertex(170, 175, 0 ,0, 0); -vertex(180, 120, 0 ,1, 1); -vertex(190, 175, 0 ,1, 0); -endShape(); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(240, 120, 0 ,0, 1); -vertex(250, 175, 0 ,1, 0); -vertex(260, 120, 0 ,1, 1); -vertex(270, 175, 0 ,0, 1); -vertex(280, 120, 0 ,1, 1); -vertex(290, 175, 0 ,1, 0); -endShape(); - -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(330, 175, 0 ,0, 1); -vertex(340, 120, 0 ,1, 1); -vertex(350, 175, 0 ,1, 0); -vertex(360, 120, 0 ,0, 1); -vertex(370, 175, 0 ,0, 0); -endShape(); - -noStroke(); -beginShape(TRIANGLE_STRIP); -texture(img); -vertex(430, 175, 0 ,0, 1); -vertex(440, 120, 0 ,1, 1); -vertex(450, 175, 0 ,0, 0); -vertex(460, 120, 0 ,1, 0); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug650/tests/triangles/berlin-1.jpg b/examples/seneca/bug650/tests/triangles/berlin-1.jpg deleted file mode 100644 index 2fae65a21ac16ff00b07636c3c1395c0b3d5512d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16554 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 diff --git a/examples/seneca/bug650/tests/triangles/p5_result.jpg b/examples/seneca/bug650/tests/triangles/p5_result.jpg deleted file mode 100644 index 305692ff27477f8b177c0f10b3a1e3f2b2777878..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40093 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 CfE(2S diff --git a/examples/seneca/bug650/tests/triangles/triangles.html b/examples/seneca/bug650/tests/triangles/triangles.html deleted file mode 100644 index a9fdd720b..000000000 --- a/examples/seneca/bug650/tests/triangles/triangles.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for Textures

    - -

    This page tests PJS textures
    -

    - -

    - - -

    - -
    -
    -/* @pjs preload="berlin-1.jpg" */
    -
    -import processing.opengl.*;
    -
    -size(500, 200, P3D);
    -background(200);
    -
    -PImage img = loadImage("berlin-1.jpg");
    -textureMode(NORMALIZED);
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(30, 75, 0, 0, 0);
    -vertex(40, 20, 0, 0, 1);
    -vertex(50, 75, 0, 1, 0);
    -vertex(60, 20, 0, 1, 1);
    -vertex(70, 75, 0, 0, 1);
    -vertex(80, 20, 0, 1, 1);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(130, 75, 0, 0, 0);
    -vertex(140, 20, 0, 0, 1);
    -vertex(150, 75, 0, 1, 0);
    -vertex(160, 20, 0, 0, 0);
    -vertex(170, 75, 0, 0, 1);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(230, 75, 0, 1, 1);
    -vertex(240, 20, 0, 0, 1);
    -vertex(250, 75, 0, 1, 0);
    -vertex(270, 75, 0, 0, 0);
    -vertex(280, 20, 0, 0, 1);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(330, 75, 0, 0, 1);
    -vertex(350, 75, 0, 1, 0);
    -vertex(360, 20, 0, 1, 1);
    -vertex(370, 75, 0, 0, 1);
    -vertex(380, 20, 0, 0, 0);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(430, 75, 0, 0, 0);
    -vertex(440, 20, 0, 1, 0);
    -vertex(450, 75, 0, 0, 1);
    -vertex(460, 20, 0, 1, 1);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(30, 175, 0, 0, 0);
    -vertex(40, 120, 0, 0, 1);
    -vertex(50, 175, 0, 1, 0);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(130, 175, 0, 1, 1);
    -vertex(140, 120, 0, 0, 0);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(240, 120, 0, 1, 1);
    -vertex(250, 175, 0, 1, 0);
    -vertex(260, 120, 0, 0, 1);
    -vertex(270, 175, 0, 0, 0);
    -vertex(280, 120, 0, 1, 0);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(330, 175, 0, 1, 0);
    -vertex(340, 120, 0, 1, 1);
    -vertex(360, 120, 0, 0, 0);
    -vertex(370, 175, 0, 0, 0);
    -vertex(380, 120, 0, 0, 1);
    -endShape();
    -
    -beginShape(TRIANGLES);
    -texture(img);
    -vertex(430, 175, 0, 0, 0);
    -vertex(440, 120, 0, 1, 0);
    -vertex(450, 175, 0, 0, 1);
    -vertex(460, 120, 0, 1, 1);
    -vertex(480, 120, 0, 1, 0);
    -endShape();
    - - - diff --git a/examples/seneca/bug650/tests/triangles/triangles.pjs b/examples/seneca/bug650/tests/triangles/triangles.pjs deleted file mode 100644 index 267bd6d18..000000000 --- a/examples/seneca/bug650/tests/triangles/triangles.pjs +++ /dev/null @@ -1,94 +0,0 @@ -/* @pjs preload="berlin-1.jpg" */ - -import processing.opengl.*; - -size(500, 200, P3D); -background(200); - -PImage img = loadImage("berlin-1.jpg"); -textureMode(NORMALIZED); -noFill(); -beginShape(TRIANGLES); -texture(img); -vertex(30, 75, 0, 0, 0); -vertex(40, 20, 0, 0, 1); -vertex(50, 75, 0, 1, 0); -vertex(60, 20, 0, 1, 1); -vertex(70, 75, 0, 0, 1); -vertex(80, 20, 0, 1, 1); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(130, 75, 0, 0, 0); -vertex(140, 20, 0, 0, 1); -vertex(150, 75, 0, 1, 0); -vertex(160, 20, 0, 0, 0); -vertex(170, 75, 0, 0, 1); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(230, 75, 0, 1, 1); -vertex(240, 20, 0, 0, 1); -vertex(250, 75, 0, 1, 0); -vertex(270, 75, 0, 0, 0); -vertex(280, 20, 0, 0, 1); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(330, 75, 0, 0, 1); -vertex(350, 75, 0, 1, 0); -vertex(360, 20, 0, 1, 1); -vertex(370, 75, 0, 0, 1); -vertex(380, 20, 0, 0, 0); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(430, 75, 0, 0, 0); -vertex(440, 20, 0, 1, 0); -vertex(450, 75, 0, 0, 1); -vertex(460, 20, 0, 1, 1); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(30, 175, 0, 0, 0); -vertex(40, 120, 0, 0, 1); -vertex(50, 175, 0, 1, 0); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(130, 175, 0, 1, 1); -vertex(140, 120, 0, 0, 0); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(240, 120, 0, 1, 1); -vertex(250, 175, 0, 1, 0); -vertex(260, 120, 0, 0, 1); -vertex(270, 175, 0, 0, 0); -vertex(280, 120, 0, 1, 0); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(330, 175, 0, 1, 0); -vertex(340, 120, 0, 1, 1); -vertex(360, 120, 0, 0, 0); -vertex(370, 175, 0, 0, 0); -vertex(380, 120, 0, 0, 1); -endShape(); - -beginShape(TRIANGLES); -texture(img); -vertex(430, 175, 0, 0, 0); -vertex(440, 120, 0, 1, 0); -vertex(450, 175, 0, 0, 1); -vertex(460, 120, 0, 1, 1); -vertex(480, 120, 0, 1, 0); -endShape(); \ No newline at end of file diff --git a/examples/seneca/bug755/test.html b/examples/seneca/bug755/test.html deleted file mode 100644 index 4d216cb90..000000000 --- a/examples/seneca/bug755/test.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Bug 755

    - -

    - -

    - -
    -// Test from Processing.org
    -
    - - - diff --git a/examples/seneca/bug755/test.pjs b/examples/seneca/bug755/test.pjs deleted file mode 100644 index b8f252082..000000000 --- a/examples/seneca/bug755/test.pjs +++ /dev/null @@ -1,86 +0,0 @@ -import processing.opengl.*; - -void setup() { - size(500, 500, OPENGL); - - PFont font = loadFont("Arial"); - textFont(font,30); - - fill(0); - pushMatrix(); - translate(width/2, height/2, 0); - text("testing", 0,0,0); - popMatrix(); - - noFill(); - - stroke(0,0,255); - strokeWeight(2); - pushMatrix(); - translate(width/2, height/2, 0); - for(int i=0; i < 10; i++){ - line(random(-width/2, width/2), random(-height/2, height/2), random(-height/2, height/2), - random(-height/2, height/2),random(-height/2, height/2),random(-height/2, height/2)); - } - popMatrix(); - - pushMatrix(); - translate(width/2, height/2, 0); - text("testing", 0,30,0); - popMatrix(); - - stroke(255,0,0); - strokeWeight(3); - pushMatrix(); - translate(width/2, height/2, 0); - for(int i=0; i < 100; i++){ - point(random(-width/2, width/2), random(-height/2, height/2), 0); - } - popMatrix(); - - fill(0); - pushMatrix(); - translate(width/2, height/2, 0); - text("testing", 0,60,0); - popMatrix(); - - stroke(0,255,0); - strokeWeight(1); - pushMatrix(); - translate(width/2, height/2, 0); - for(int i=0; i < 10; i++){ - rect(random(-width/2, width/2), random(-height/2, height/2), - random(15,25), random(15,25)); - } - popMatrix(); - - fill(0); - pushMatrix(); - translate(width/2, height/2, 0); - text("testing", 0,90,0); - popMatrix(); - - stroke(0,128,128); - strokeWeight(1); - pushMatrix(); - translate(width/2, height/2, 0); - for(int i=0; i < 5; i++){ - translate(random(-width/4, width/4), random(-height/4, height/4), 0); - sphere(40); - } - popMatrix(); - - fill(0); - pushMatrix(); - translate(width/2, height/2, 0); - text("testing", 0,120,0); - popMatrix(); - - pushMatrix(); - translate(width/2, height/2, 0); - for(int i=0; i < 5; i++){ - translate(random(-width/4, width/4), random(-height/4, height/4), 0); - box(40); - } - popMatrix(); -} \ No newline at end of file diff --git a/examples/seneca/bug842/test.html b/examples/seneca/bug842/test.html deleted file mode 100644 index 866c97aa9..000000000 --- a/examples/seneca/bug842/test.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Bug 842

    -

    Box should slowly change color from black to blue.

    - -

    - -

    - -
    -// Test
    -float c = 0;
    -
    -void setup() {
    -  size(200, 200, P3D);
    -}
    -
    -void draw() {
    -  fill(0, 0, c, 255);
    -  pushMatrix();
    -  translate(50, 50, 0);
    -  rotateX(20);
    -  box(20);
    -  popMatrix();
    -  
    -  c += 1;
    -};
    -
    - - - diff --git a/examples/seneca/bug842/test.pjs b/examples/seneca/bug842/test.pjs deleted file mode 100644 index a98751cb7..000000000 --- a/examples/seneca/bug842/test.pjs +++ /dev/null @@ -1,16 +0,0 @@ -float c = 0; - -void setup() { - size(200, 200, P3D); -} - -void draw() { - fill(0, 0, c, 255); - pushMatrix(); - translate(50, 50, 0); - rotateX(20); - box(20); - popMatrix(); - - c += 1; -}; diff --git a/examples/seneca/bug954/test.html b/examples/seneca/bug954/test.html deleted file mode 100644 index f52f34160..000000000 --- a/examples/seneca/bug954/test.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - -

    Pomax

    -

    Bug 954

    -

    Click the canvas to start and stop the draw function. FrameCount should stop and restart where it left off.

    - -

    - -

    - -
    -// Test
    -Ball bouncer;
    -boolean play = false;
    -
    -void setup() {
    -  frameRate(24);
    -  if(!play) noLoop();
    -  bouncer = new Ball(); }
    -
    -void draw() {
    -  bouncer.computeNextStep(width, height, frameRate);
    -  fill(0,0,0,20);
    -  rect(0,0,width,height);
    -  fill(255);
    -  bouncer.draw();
    -}
    -
    -boolean moo = true;
    -void mousePressed() {
    -  if(moo) {
    -    play=true;
    -    println("resuming, frame count is "+frameCount);
    -    loop(); 
    -  } else { 
    -    println("stopping at frame "+frameCount);
    -    noLoop(); }
    -  moo = !moo; }
    -
    -class Ball
    -{
    -  int pos = 0;
    -  int step = 0;
    -  int radius = 20;
    -  void computeNextStep(int sketch_width, int sketch_height, float frame_rate) {
    -    step = (int) ((step + 1) % frame_rate);
    -    float sin_value = abs(sin(PI*step/(float)frame_rate));
    -    float bounce_height = (sketch_height/2) * sin_value;
    -    float ball_height = sketch_height - (bounce_height + radius);
    -    pos = (int)ball_height; }
    -  void draw() { ellipse(width/2,pos,radius,radius); }
    -}
    -
    - - - diff --git a/examples/seneca/bug954/test.pjs b/examples/seneca/bug954/test.pjs deleted file mode 100644 index f675d6a75..000000000 --- a/examples/seneca/bug954/test.pjs +++ /dev/null @@ -1,40 +0,0 @@ -Ball bouncer; -boolean play = false; - -void setup() { - frameRate(24); - if(!play) noLoop(); - bouncer = new Ball(); } - -void draw() { - bouncer.computeNextStep(width, height, frameRate); - fill(0,0,0,20); - rect(0,0,width,height); - fill(255); - bouncer.draw(); -} - -boolean moo = true; -void mousePressed() { - if(moo) { - play=true; - println("resuming, frame count is "+frameCount); - loop(); - } else { - println("stopping at frame "+frameCount); - noLoop(); } - moo = !moo; } - -class Ball -{ - int pos = 0; - int step = 0; - int radius = 20; - void computeNextStep(int sketch_width, int sketch_height, float frame_rate) { - step = (int) ((step + 1) % frame_rate); - float sin_value = abs(sin(PI*step/(float)frame_rate)); - float bounce_height = (sketch_height/2) * sin_value; - float ball_height = sketch_height - (bounce_height + radius); - pos = (int)ball_height; } - void draw() { ellipse(width/2,pos,radius,radius); } -} \ No newline at end of file diff --git a/examples/seneca/canvas properties/demo.pde b/examples/seneca/canvas properties/demo.pde deleted file mode 100755 index 3a4e779ea..000000000 --- a/examples/seneca/canvas properties/demo.pde +++ /dev/null @@ -1,7 +0,0 @@ -cursor(CROSS); -void setup() { size(100,100); noLoop(); } -void draw() { background(0,0,200); } -void mousePressed() { println("mouse pressed"); } -void mouseDragged() { println("mouse dragged"); } -void mouseReleased() { println("mouse released"); } -void mouseClicked() { println("mouse clicked"); } diff --git a/examples/seneca/canvas properties/index.html b/examples/seneca/canvas properties/index.html deleted file mode 100755 index f3e0fd850..000000000 --- a/examples/seneca/canvas properties/index.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - Canvas properties explanation - - - - -

    Canvas properties

    - -

    By default any element that is tab-focussable (via tabindex) - gets an outline rendered by certain browsers. We turn this outline - off for canvas, by setting the canvas's style property "outline: none". - We also disable the onmousedown handler and text-select properties so - that the canvas does not count as a text-selectable item. Click-dragging - the canvas will not show the typical I-bar cursor associated with - text selection, and double clicking the canvas will not select it - as if it was a text element.

    - - - - diff --git a/examples/seneca/canvas_size/test1/canvas_size.html b/examples/seneca/canvas_size/test1/canvas_size.html deleted file mode 100644 index 62e6b705a..000000000 --- a/examples/seneca/canvas_size/test1/canvas_size.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/canvas_size/test1/canvas_size.pjs b/examples/seneca/canvas_size/test1/canvas_size.pjs deleted file mode 100644 index 2304afa38..000000000 --- a/examples/seneca/canvas_size/test1/canvas_size.pjs +++ /dev/null @@ -1,15 +0,0 @@ -void setup() { - size(500, 500, OPENGL); - fill(204); -} - -void draw() { - background(255, 0, 0); - - // Change height of the camera with mouseY - camera(0, 0, 400, // eyeX, eyeY, eyeZ - mouseX - width/2, mouseY - height/2, 0.0, // centerX, centerY, centerZ - 0.0, 1.0, 0.0); // upX, upY, upZ - - box(50); -} diff --git a/examples/seneca/conflictingNames/test.html b/examples/seneca/conflictingNames/test.html deleted file mode 100644 index b0f183fa4..000000000 --- a/examples/seneca/conflictingNames/test.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/conflictingNames/test.pjs b/examples/seneca/conflictingNames/test.pjs deleted file mode 100644 index f4ac08d09..000000000 --- a/examples/seneca/conflictingNames/test.pjs +++ /dev/null @@ -1,32 +0,0 @@ -// Processing.js Example - -void setup() { - size(200, 200); - frameRate(25); // frameRate() function -} - -void draw() { - background(#00ff00); - if (frameCount % 100 == 0) { - println("FPS:" + frameRate); // frameRate var - } - - if (mousePressed) { // mousePressed var - background(#ff0000); - } - - if (keyPressed) { //keyPressed var - background(#0000ff); - } -} - -// mousePressed() function -void mousePressed() { - println("Mouse pressed"); -} - -// keyPressed() function -void keyPressed() { - println("Key pressed"); -} - diff --git a/examples/seneca/createGraphics3D/createGraphics2D-3D.pjs b/examples/seneca/createGraphics3D/createGraphics2D-3D.pjs deleted file mode 100644 index a45bf7c13..000000000 --- a/examples/seneca/createGraphics3D/createGraphics2D-3D.pjs +++ /dev/null @@ -1,30 +0,0 @@ -PGraphics pg; -float r = 0; -float c = 0; - -void setup() { - size(200, 200, P3D); - pg = createGraphics(80, 80); -} - -void draw() { - background(204); - fill(0, 0, c, 255); - noStroke(); - pushMatrix(); - translate(20, 20, 0); - rotateY(mouseX); - rotateX(mouseY); - box(20); - popMatrix(); - - pg.beginDraw(); - pg.background(0, 0, 0); - pg.stroke(255); - pg.fill(0, 0, c, 255); - pg.ellipse(mouseX-60, mouseY-60, 60, 60); - pg.endDraw(); - - image(pg, 60, 60); - c += 1; -} diff --git a/examples/seneca/createGraphics3D/createGraphics3D-2D.pjs b/examples/seneca/createGraphics3D/createGraphics3D-2D.pjs deleted file mode 100644 index e371038dc..000000000 --- a/examples/seneca/createGraphics3D/createGraphics3D-2D.pjs +++ /dev/null @@ -1,29 +0,0 @@ -PGraphics pg; -float r = 0; - -void setup() { - size(200, 200); - pg = createGraphics(80, 80, P3D); -} - -void draw() { - fill(0, 12); - rect(0, 0, width, height); - fill(255); - noStroke(); - ellipse(mouseX, mouseY, 60, 60); - - pg.beginDraw(); - pg.background(255, 0, 0); - pg.noFill(); - pg.stroke(255); - pg.pushMatrix(); - pg.translate(40, 40, 0); - pg.rotateY(mouseY); - pg.rotateX(mouseX); - pg.box(20); - pg.popMatrix(); - pg.endDraw(); - - image(pg, 60, 60); -} diff --git a/examples/seneca/createGraphics3D/createGraphics3D-3D.pjs b/examples/seneca/createGraphics3D/createGraphics3D-3D.pjs deleted file mode 100644 index 8e2306a92..000000000 --- a/examples/seneca/createGraphics3D/createGraphics3D-3D.pjs +++ /dev/null @@ -1,34 +0,0 @@ -PGraphics pg; -float c = 0; - -void setup() { - size(200, 200, P3D); - pg = createGraphics(80, 80, P3D); -} - -void draw() { - background(204); - fill(0, 0, c, 255); - noStroke(); - pushMatrix(); - translate(20, 20, 0); - rotateY(mouseX); - rotateX(mouseY); - box(20); - popMatrix(); - - pg.beginDraw(); - pg.background(0); - pg.noFill(); - pg.stroke(255); - pg.pushMatrix(); - pg.translate(40, 40, 0); - pg.rotateY(mouseY); - pg.rotateX(mouseX); - pg.box(20); - pg.popMatrix(); - pg.endDraw(); - - image(pg, 60, 60); - c++; -} diff --git a/examples/seneca/createGraphics3D/createGraphics3D.html b/examples/seneca/createGraphics3D/createGraphics3D.html deleted file mode 100644 index 7f204e03d..000000000 --- a/examples/seneca/createGraphics3D/createGraphics3D.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -

    createGraphics() test - 3D

    - -

    - - - -

    - -
    -    
    ---- 3D PGraphics on 2D Environment ---    
    -PGraphics pg;
    -float r = 0;
    -
    -void setup() {
    -  size(200, 200);
    -  pg = createGraphics(80, 80, P3D);
    -}
    -
    -void draw() {
    -  fill(0, 12);
    -  rect(0, 0, width, height);
    -  fill(255);
    -  noStroke();
    -  ellipse(mouseX, mouseY, 60, 60);
    -  
    -  pg.beginDraw();
    -  pg.background(255, 0, 0);
    -  pg.noFill();
    -  pg.stroke(255);
    -  pg.pushMatrix();
    -  pg.translate(40, 40, 0);
    -  pg.rotateY(mouseY);
    -  pg.rotateX(mouseX);
    -  pg.box(20);
    -  pg.popMatrix();
    -  pg.endDraw();
    -  
    -  image(pg, 60, 60);
    -}
    -
    -
    ---- 2D PGraphics on 3D Environment ---
    -PGraphics pg;
    -float r = 0;
    -float c = 0;
    -
    -void setup() {
    -  size(200, 200, P3D);
    -  pg = createGraphics(80, 80);
    -}
    -
    -void draw() {
    -  background(204);
    -  fill(0, 0, c, 255);
    -  noStroke();
    -  pushMatrix();
    -  translate(20, 20, 0);
    -  rotateY(mouseX);
    -  rotateX(mouseY);
    -  box(20);
    -  popMatrix();
    -  
    -  pg.beginDraw();
    -  pg.background(0, 0, 0);
    -  pg.stroke(255);
    -  pg.fill(0, 0, c, 255);
    -  pg.ellipse(mouseX-60, mouseY-60, 60, 60);
    -  pg.endDraw();
    -  
    -  image(pg, 60, 60);
    -  c += 1;
    -}
    -
    -
    ---- 3D PGraphics on 3D Environment ---
    -PGraphics pg;
    -float c = 0;
    -
    -void setup() {
    -  size(200, 200, P3D);
    -  pg = createGraphics(80, 80, P3D);
    -}
    -
    -void draw() {
    -  background(204);
    -  fill(0, 0, c, 255);
    -  noStroke();
    -  pushMatrix();
    -  translate(20, 20, 0);
    -  rotateY(mouseX);
    -  rotateX(mouseY);
    -  box(20);
    -  popMatrix();
    -  
    -  pg.beginDraw();
    -  pg.background(0);
    -  pg.noFill();
    -  pg.stroke(255);
    -  pg.pushMatrix();
    -  pg.translate(40, 40, 0);
    -  pg.rotateY(mouseY);
    -  pg.rotateX(mouseX);
    -  pg.box(20);
    -  pg.popMatrix();
    -  pg.endDraw();
    -  
    -  image(pg, 60, 60);
    -  c++;
    -}
    -    
    - - diff --git a/examples/seneca/createGraphics3D/createGraphics3D.pjs b/examples/seneca/createGraphics3D/createGraphics3D.pjs deleted file mode 100644 index e371038dc..000000000 --- a/examples/seneca/createGraphics3D/createGraphics3D.pjs +++ /dev/null @@ -1,29 +0,0 @@ -PGraphics pg; -float r = 0; - -void setup() { - size(200, 200); - pg = createGraphics(80, 80, P3D); -} - -void draw() { - fill(0, 12); - rect(0, 0, width, height); - fill(255); - noStroke(); - ellipse(mouseX, mouseY, 60, 60); - - pg.beginDraw(); - pg.background(255, 0, 0); - pg.noFill(); - pg.stroke(255); - pg.pushMatrix(); - pg.translate(40, 40, 0); - pg.rotateY(mouseY); - pg.rotateX(mouseX); - pg.box(20); - pg.popMatrix(); - pg.endDraw(); - - image(pg, 60, 60); -} diff --git a/examples/seneca/cursor/cursorMode.html b/examples/seneca/cursor/cursorMode.html deleted file mode 100644 index 2d4b26bcd..000000000 --- a/examples/seneca/cursor/cursorMode.html +++ /dev/null @@ -1,142 +0,0 @@ - -A Processing.js Example - - - - - - - - \ No newline at end of file diff --git a/examples/seneca/cursor/cursorUrl.html b/examples/seneca/cursor/cursorUrl.html deleted file mode 100644 index edd044025..000000000 --- a/examples/seneca/cursor/cursorUrl.html +++ /dev/null @@ -1,56 +0,0 @@ - -A Processing.js Example - - - - -
    -

    A Processing.js cursor(MODE) Example

    - -

    Roll over the white rectangles to see the cursor change!

    -

    Best viewed in Firefox

    -

    NOTE: not all browsers will support each MODE
    - reference CSS Cursors for more details -

    -
    - - - \ No newline at end of file diff --git a/examples/seneca/cursor/cursorimg.htm b/examples/seneca/cursor/cursorimg.htm deleted file mode 100644 index 36e50ea30..000000000 --- a/examples/seneca/cursor/cursorimg.htm +++ /dev/null @@ -1,39 +0,0 @@ - - -
    -// Move the mouse across the image to see the cursor 
    -// change in .. to ..
    -//   up-left... the download icon
    -//   up-right... a wait icon
    -//   down-left... no icon
    -//   down-right... the default/page icon
    -
    -/* @pjs preload="download.png"; */
    -
    -PImage img;
    -
    -void setup()
    -{
    -  size(100,100);
    -  background(0,0,255);
    -
    -  img = loadImage("download.png");
    -}
    -
    -void draw() 
    -{
    -  if(mouseX < width / 2) {
    -    if(mouseY < height / 2) {
    -      cursor(img, 16, 16);
    -    } else {
    -      noCursor();
    -    }
    -  } else {
    -    if(mouseY < height / 2) {
    -      cursor(WAIT);
    -    } else {
    -      cursor();
    -    }
    -  }
    -}
    -
    diff --git a/examples/seneca/cursor/cursorimg.pjs b/examples/seneca/cursor/cursorimg.pjs deleted file mode 100644 index 6b84aa7f9..000000000 --- a/examples/seneca/cursor/cursorimg.pjs +++ /dev/null @@ -1,35 +0,0 @@ -// Move the mouse across the image to see the cursor -// change in .. to .. -// up-left... the download icon -// up-right... a wait icon -// down-left... no icon -// down-right... the default/page icon - -/* @pjs preload="download.png"; */ - -PImage img; - -void setup() -{ - size(100,100); - background(0,0,255); - - img = loadImage("download.png"); -} - -void draw() -{ - if(mouseX < width / 2) { - if(mouseY < height / 2) { - cursor(img, 16, 16); - } else { - noCursor(); - } - } else { - if(mouseY < height / 2) { - cursor(WAIT); - } else { - cursor(); - } - } -} diff --git a/examples/seneca/cursor/download.png b/examples/seneca/cursor/download.png deleted file mode 100644 index 07d810cc7e6372c3720a623b55a73f8a5671e04f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1727 zcmV;w20;0VP) zVL4ES8HatH8JHQ?L3YHV6qC|aX$(qRFZ%ZXemElnqLQ{=bdoQ#@SpQO-}^0`muxoh zT6lQRR?=d-g)V*Vl~-+E-~5KnyPIuoj=kw++Vt|K+Z(v$^Ih`$!~4R~_75N*J&nxC zv&g>{3B_b27XF-wgdMwf=3`kH7cg0c4ZAU#tWF zFMvNDKJcQxr6v@6Ky)Bw!XGnpBgVP8+rq-aJ=+cT_xhJPcI*=Dn%{?K*8w>9?dDA= z0(hDaB6`>v-|Kc_V9tPl6o4}SsZS#`)cDR2K;onf(KnAj24MV6jkK{KxGFz{sV)IG z2kL~`*~yJLL7Q&6w@NZI)@qz+%SN{l0%Nf^8nRpvFW-xO1zY(J5FHSHPKM$}D2`-o zM}pT^s7$m+OV(+aO8hX@qrz0bI{BGkDAVa)l`zndKGRcq4(1Xc7z({mmf(ns0S9p2 zc{c(acEa6#2li{Xasa;@d!hLy6OK7M;4QVqS*K5sWU;om}&;(+!X7nqd3=vB*S zrc5P**hi~MWGwQQ==0stmhFtDOeyjr40|2|0+7qT zvXqG+C6$mkMI*DiB+ecgAqNpA{d7$L%GNG*D;Kwq ze8+kw()III09WMpXwCP6xhxo66w1KW0Ckt8lEw@vnpy1#!cgeJYiKUGvO?_; zcjgOjaggIj2syb6CxW)~pwIMs)RH)5T@ZB?joF^)S4F{69gRL!1p2BXFrbm6w<2sc zfI97@r2g_LD}d;Rq2LU!VRyMdI!l6~zIX!J3?|xr43_yxj#i9!o)I^4SH|X+ZJWNU-bP2)e zU{g_>!Acc-6xrd2P_OVn4`o=Bh<-I?9K{5aFw%4hLv_g*)W*ZYe($Y1$I1}0+5r)O zL}`RX0D9Nwxk6vWCgO@86ZVC^&=a~mcXTp{t}@nCnpmD$cSSf8h`>-oIwtgm7;9Bv zxG@cbwTWE3uj)K{D#OgPv^KeyXJ{gAUdEg@`j;6W_3cG3IfvQx-3GlGSEnMSA=nZ zZs9DmIFY64l8K?^;_MvHoH_SQ0KCRbOk7IKo6^9Rm7Zc}PWCEJ;>nfiytx&TyT0ucLv#3`1Sg8wa7#^&7%ZTTKB3t>zw zVsYeZlNOtfGN+nT=F7yN2|(-tvR(vO`A%E2F4F}~3OCl6{^((Krj8#F#l@Ph5MLKS zn|cC$)iHbx(?VJa$p>3Ve8zQRZUDTWh{#yJ-It0op6%l8&-) zzHWP}!MD+y+s4h4{h(E@I0LX5Aksot|!Kmbz9%(buV;w!-ZCHG*3(1+Gj!MC(zJP|j z0F=ZWfi_)=b|w4YP!VmM9oO?m_kaCG&I}r=BvYdXbk!-6r!88^gTEd;y|ydJ{svv2 Vz#HfU&j|nk002ovPDHLkV1nZkIU)c6 diff --git a/examples/seneca/cursor/images/3dwarro.cur b/examples/seneca/cursor/images/3dwarro.cur deleted file mode 100644 index 926f057d6590b464a6e1ca9094d99d8221b9d8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmds#F%E)25Jf*~LaCK4l$PEAk3_lMY{{`Wjz^#{j&IR|+1S`R@P>K&A)8H*c52l3 zTI;@(&P*5R;RcNkbSaa4uS`gi^ZP+(gsgd<34FcfUMAowOQrpPr5w*_(c2})(MQGC zQ{|T9=N47w)3n{M_;x>ALM(h6%VLa&SoPsjj5StXEC0aH^&H$E9~N^@aCP?+G@uR! QFu=>&9$Gj;2Ll+q0Bil6DF6Tf diff --git a/examples/seneca/cursor/images/cross_rm.cur b/examples/seneca/cursor/images/cross_rm.cur deleted file mode 100644 index a55617108e6c97595af1b89717edb2c750b5eba4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmc(bu@1s83`Ae6?qOo?*uQ{3BcGPfVa&*YWX=v$B0}myRVQ~j=c3pNj10^(Bu?B% zI0K8IEv~}AB!(>ScVwAza&C)Ql2VFRH!LP*t^^I=a@r@Xe&1V<%afjI)v3KUt(`U1 j`(Yp0Z`AMqZ|(WtBL1bP=gn*b54e1=bvFFI#yfuj&fvO< diff --git a/examples/seneca/cursor/images/greensmiley.cur b/examples/seneca/cursor/images/greensmiley.cur deleted file mode 100644 index 6a3ee6d469e81f3470f6562dbda25ba00e2eb87b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcma)4F>1p=5FA;CpaUUSX`?b_eh@z?ZNOkX!5sw}KL&l@(<@_sV5W%1 zPbpphLr1KXqN_x3+Qp<8OS2$!Q3ASAppanl5AJfQygs$h1Maz|IsAbz5xSX!Z>@Ml z;92T-yb7^Obv8x|Jj?HW%tO-q^ZXC~xb6v@B#hRHl}{*!;w#1S zWy|&z3U6N$WqTu7N*-|s%r3dv57*%vN9*x!4PLkz)i3ar>;mMEEa~Lcs~Ml1^~Ra_ Q;KChpEuCeP`SKmjt}S-brvLx| diff --git a/examples/seneca/cursor/images/lwait.cur b/examples/seneca/cursor/images/lwait.cur deleted file mode 100644 index 52e01272af6519d84f034eb99c2a287869b9a503..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmbVIyAA>|4D$gJ14A}eZsafE&*-Q1Qy3XLG9ZH82UpNZhX^EXVkgcOSYg080y`LP zD_{@cNM{LW`hX215QxoNAV?&Haxn5r4~Q`m@cf6nZgl=sQdlq}sag`%CjL)3k~xVC zwUc?4?sL`pT!MZ6fopAA+r;v0YUFjeUCM+8Yhz0`!G$ovB2cS!*8v^=-Ou@Y!uAk? zIpZym;f^3}8h6k^_4=ZJ=1o?UG;T33ucg?1qB@H;IAHMJBi26WS8O@R{EmY^aPlWE Q`BbjD@VP$K`uV!cUSRUx2><{9 diff --git a/examples/seneca/cursor/images/move_i.cur b/examples/seneca/cursor/images/move_i.cur deleted file mode 100644 index e4353412405ef16534abc3912f7870c2ef84ae91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmaJ*F%p6>5Znl3O029YEq#JM#8)`bl8^8f%tIXY1(X&HEVnpR8Qjd>&24r!0d{aG zOQ663X9pYsoUDw(#md7W8gu&1FDv~@HB0j_^7q@DHeEP!n#mW0O|AX!SCH!HIUv2n_#a3oh wZ8o-MLuc0aoa?q=!Y{s>yst;^+rhbx*pQ;dH~zr=@Ev``+;z-KGoRMXY0dVbGOLQrs8pKsU7E6yrYNO3 Y?xd-;w2jWJer7&9bbQxu_^ls!0Ub+;@c;k- diff --git a/examples/seneca/cursor/images/pen_i.cur b/examples/seneca/cursor/images/pen_i.cur deleted file mode 100644 index e0910211df42cc7099cba5284ac3a9ada6c6c210..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmZ{eu@1p-7{sqyEMk;M3>}SPvgs)C5EdT5U~V790}zQtVyRJLv57%FK*d5xH0?R< zrrbZj?~?oSUH(7;25cL!P(;fBY5eWU|xsK`gR{s7v0px`|(U1C^eJsQ>@~ diff --git a/examples/seneca/cursor/noCursor.html b/examples/seneca/cursor/noCursor.html deleted file mode 100644 index b26fc0210..000000000 --- a/examples/seneca/cursor/noCursor.html +++ /dev/null @@ -1,55 +0,0 @@ - -A Processing.js Example - - - - -
    -

    A Processing.js cursor(PImage) Example

    - -

    Click on the grey canvas to see the cursor change!

    -

    Cursor Image Order: Cursor Image Order: - -

    -

    Best viewed in Firefox

    -
    - - - \ No newline at end of file diff --git a/examples/seneca/curveVertex3D/curveVertex-PJava.png b/examples/seneca/curveVertex3D/curveVertex-PJava.png deleted file mode 100755 index 611b74ea719343dcc69d7b6da4e4eaf057ba5ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7301 zcmX9@cRZWl_qWw5Eo$$oO;IEE-lL^xOHo>?Du_Kol~^?rvv!plwQ5U5>>9C()~GEp zV#TOEe))WVf86K3?!B+)ocCGxo_lWGV>5j^YIbTOA|g6N104%OUqWceTO@=pxKwMN z&=LDs=xY&Gk8o}h24t?9rkX@VwaGM>ugD2wDldcQK14*fyZ>v%eV%2niHJDa4Rti1 z2HNlB(LA-9%IX`ad|pxSGP~)k^s@SQfc1*A)1Bu(A3ooS`u>W|8Ny1|;I^XUo?>L; zl=bIx?ETq|TWT*%KN*P`+QpNc97Gf0(wpOvp@j^Od5tFZoX4|JE>&4Ksyw0Ft)uWv zG`6F&`}&Vie#pqeqFTVs$jJ`)c*b?{%k1oIS65fSA~@jUc&7$+jsqLLw;`26ojO@q zSiF0O>x`tNp{D+b-)nBa@-Q-@Mr~pSQUmrDuG9s@Z&ZEHwj6E{?`P_6kd-`gXvo5zL32(mZK5ny$>f*RE*=}*Fqua?#9I`Bqz7TUfZfnyemnFd*bPkNCG7!*filjUYd}+6ynp&Ar?#EpS?V zXma~Cq|@OBqYljXKx`}C+VSV!9`N33%#CaVs(M*YB>UW+^WVBw23)8Q&)j4Mq$jNi z)bR?`Esk$@%qHfN{-C|EX{`Gq%<|2lrsn0rTSeT?O7ABH;2e=1?*p7BW-;Vsw--*? z@q$0tT4){l>9cj6wyTy6Nj0%n*u}92uPd9V5KN&-^DR0(VHqq>68V(OjP{y~ zi%Wu^=dLG}JeaJ|G)G?gU^z0TGY=gW*jA1LhqE{MgwJBH++I?SBj}6&aT>Jx^H!ZK zEo@PqEKD9*|6KSBocHN#UD*)odJ?L0@Ac)gdau2y3;)g(vebMsRsm2A5&9-UoXF&{!;O=ny4$8pD5(l zSKU(*qDYzyj8VJYZG&ou_Ulg$mn0eg;O6-%&vBN}4?g>D9ZNO&NxM}w?pO2G#_fN9 z-=1%-@L8-zU-vntxPNsn5a?}M=H4bCMrNV5 z5H9O4+MiGBi*Q}c34XOpTUZrMzCHtwSvyB|cD z7d~P@v2XA@9uqM#GDbe0oSB*VCG|d~eoNt$f5P+V_!v0-gLq#%ysV{#^)mF<-3|1| zPKTem_7xQ>H#uoE?S^i@8&rQ+<&}$MT3RA3ErTsAt4m6bN**|vo1$RZp|XB7A_g}O z?T#VqI5Ic$aH9ad*XEF8O&)!u;J z2hWW~;&_Vh`xoE0pUIwXl-uvFinEzVRNG8AR0kV6iQ5w^#y^^Bs@A^uTE~9_TLpCA z5s4$jj4(FWntxDtlM6D^&(_Hg>hYfwJ<~G#adTYgdJS-5PE!aBaheN$zbci&Cw=&! z;6b2HwiXZNYfp}}glgK?Or48xA0c`9aTkhWg z2m~r~>x;gRB*H&5i{$}bvt5CH$ja)le zlbg?(I(i%2=n&A;E^Hx$nU1_liyjvcsMG#im@_B;itTt5*;t}0b_e_Q=oneaV-oJz z->-gBbExs+=@mDE=|gVzyS3pT#Gga-qUVL(gyhD_@>RL>DqC6<1G(ii60(5HyrpvG zC$?sJN)TgeZFBr<@Pn9c%_$!Fo}z_gOZMEIj6PHV)?h!bhis#~Cu$;&D$$T?*s#Jj z#k#=!#r*kCoUvymFxZ$R*T z3mOVB!cL^hvKMbg^HqI4UPT5R=$V=hBSPAJ*YZ@el1F@1lqT4uWu=^4UiA#E#8Mis zs|CK^O<48OuHd1m%3=uy*}v^Zj+F!zO5`JgUNMdEc+gQb)#{r}RKBU467MkUbuO%i z7yjoxg6d8#z^GQcv@n^V)qwWPlL&#El}PC&x&|WJZ^==)WidnG4A|C{ZR=KBiv$o+ zU#I(yM-b<`r8_w=CDO$RI#uY5X4tN*6rXHS;|6K>FW+%agpz)IYHcm)fZ`k`JO1_L zUVNs=ds*C1)$E-|ma2q3FG^)O`bkH37co%X}kvC=w6-h<6jLFG(M!R+D#s zhuto>@+tWq>{EH7#{PUqs^v6DRdJ?OK!z9}+F6OFA?xNz|YDNQ8 z^xjdeXx&Y}oK)`X(os4VfPpq0tQ!rE@zusebC34x;xtf!`%XIlkjTq9yT_w`N$xjT{?E4$T+u0e(#w+&y!(1B=)iX8#@x9{fNs;D~lHHMh#rx$PXA13JE)KY5 z{8%M^YBKBR}Q1yzqej~I{3KQrSsUO=-8!_uz4otxKzwY zWkX_7THO8@LY0M;ScAsVqjmCC@dXPcKl4$fXxpS`j=?0&Zv z^IPIpg#-SvHb&bNCTr*&9a^(-yuAS#=QjGodiEHM(H3H9k?45Zd-=mT8=G?WO80R7 zP2qn>n7PN|DL(Utj{)V#M$iK49+C@uBZBdzOG|* zM@3@uEjd+7?+5z_9c??;*4ue6TX`=xdM}q|L`_Lic|NsEUO^*_ZY6GUWT%D}Ru ztzp{>a%@skZMTO+K#DZ=T;yL}-mHgA%p%U2M{C}DcuWXE6IjD^o~QiDQ)~kcPK_wv z#z-ZKK4Z6Pc=Y|X+tai9Cs_1XJM>r441H^fA#NPS8f36zD{(RXjD0vmI)AfGpfhzj=d+544gjM(tmJ?hQjL289^>4{cO|g z>Nk+37#@Z9=$A=VPL5M`M?tbs^W^!pV{c7GwJp+%?^YFN3Xg28^He|$h)V-2x98*y z7%)pi87oWYuP%N&O8o;GFRs&ZWT>4WP}OSjvTHDNc2teI_KzcD#w#9j&GIp4_mwT#V|~+edFblx3`%Yap7=u65qrsnV&eLZq6Mgc zPWP0yQzfY~Y+b7o;C#a{hI<%{yL_|=6 zZrB+GoBYKeb$+YnUpzPpJbB`qfT7&*5zo_s89K4i`&I8j6@O*6r`mQUtKVIr8$GL3 z4;L1+Tm6C0I8FPr5R@QVpn-FBi&Uv~E{wFk*o3S9Th5~~oI0W`4mf_khwhXU7B2pJ zX5j;glo<0{nvO1UBs$wH0%Ba1mBu(aH2RXmjs#S00p`a}mwzWC5H%+!oAh=5z?0T~P_TZ%CrFwXYs(QVEdcEuo9!t{f&&;_isW@ke z`LmEhyYVk2fg^i?6T#0?mzw9^%Lc5^28(Wi49&nJ%U6F>SVCQ8R5y7sI$$r%B**$S zdr%Xf-yOK(h|zvlt8=8M8{O7k6>)yL{#FQgPq?7h^lO>L$mh2jK!Pg9^^vr~ccdCqGTw z6n2$QByOYjVmeQ5yk>Pwg;eD{?p`0e87%%>aZAl`EXCgmSt&71pvz}H%)4MQZIe2W z2q_3%T7X!hu6i(@x@PBVALATit`&Xna&HupNMkyXZrv;(MO9!UmHZ2!qux_jOv7-9 z7Z(vctiy^k6*e8h5yZ@sFs?|O_`9fx=whQ|HS3Wc|Gpz#m%_>|hx>{+Q#{j%`Tnb( zIqlF{fm*(Eg~&|Ur+U~e0I=;A+;!^3HQB=DGf21cnV`Bh2QHO)(BRtC{OKl)T~()) z^39`hv+nJ2R%QD9rA~QFlo`&KU$8JCWkb(}*8fy>XwS@`RJF`tgdN|f36=F@_*b=L zI*R^hKDY^!SGST4b;RwQiKrSnPakzW%@vK5Ek+4jMLeD2mk5Whvj2!e6fBYc6nEj| zgkw%FVamZ?a{0`w&KXgsr*j4HyDC0#rqzz%A;9bxPRl+dg?|I?E~vPvZ;E?#QHzf!;D{LnvHQ$lNYW}HMd@Ill$qEo zZI%#Q-ZV$SLd?gqSn*GZsR;V_g97TK6y`$>a*q3RuO}ac|AAl4;dFZDUs83bb1Z~Z zdAFMx6axKsE^!}&LUN{tTb&G3WRmi+P|m0z?dR36Ws^bYNz!Nm|^m$1m)-<#D-4W|pV zw7reFbRo`VL(NZRI2+sPGJE!lNHr7tX+)jG@7-bLEoITi>y>H&=`nbFZ@+BWzIbKJhSA>V)7>wX_|#^QPx%#&2XP zb-pk;ES_jcN`6jE|8b?W8|hB;5ZZgQC!3ol{8r@yVI9K*>7WR0mHI(|-x71rBpo*i z-SxuFcOgRovw!EQ;4R{#L^j>p!C#RKHxN zUnK+Rp2ARFm38#7c>7;jl+aa$L%buiq7QK>Lb{82dnb#LJwrXOQ>`fWPCY3 zr$u~6ShtS!a5{qX)ABxb5Not$|8N!9xRRLvaXdPQ#MdD?4_Ysb$zYIad#q*lj0#B! z@{X|he?DJgbIZ{ELA4gNJ;?_z$d$ZoB2D2cS=^S$5)lrI{AAP+3pN945Yb zgj2v3M;gH;=9e0-ZDeemo@pC1FqEQ;(U~U&98!QTugh_$tmh~9W=M2QoG~XOKllVF z-}hhawbwvxd-^d>RDkw?2Li4HkORz~c>ukUNmXR-B?qAt{1rK;Wa5$`&M$gzV(Wu)m-J7^*41+Q5t*kg`VMw6;gO9M*JTVYf7|E5hV0=H=I zfK0+(5&kCl2axN5tg#EmgaAw54>C9OqIoid5NFOQ&Wpt^2`KNUQlg?3_COJl32GtC z=S4lA=Y0RqwQ8_RzUO~wWslFw%V*EZkaO>zt)-dwOP@j3>Vg9SVTTz(q(S=nF}T_s z%dLzT#5yKkUqygA;10AdhMb(78vd==L@XETT*7FX3F~g>qlUX#0UPJ`RL2Gmvo=|)Q4)vTGo!i9*usp$o4m=I) z?en#OX6d#b=iV*=PTYcax<^uo#)NrbFRe2KzkcoHECK^v5iTA`maP#!E zQ9Z8J^myjlNl-;?rgEMcB=nh_s*4OMV6EZT+#8UuGiDIoM_ad?e~Yh=Nufkiz$OCR z;-~WSK$hTl5xGGX9cn*2$itMv_$WOgDtIMsXMipSvq52B4NaDQ*R8}w*y7Oram@z@ zgbVnyL6d%ISh~GxDooZhrn?Y0{_}22$7rtYABNo(BVUY??`WzrC z9Rv_FtpC%ezc(Z_A%f=8_fm@xm_bVf;Gp>afnRT=ga~oUO3HG&Y0$6vau+3niJ02` zJXEfqr0|R4ftIu<7VCW1fmaAib5>>B%ygh3>i2$~7=%XL^z?7hPP_I)D_M*nq@_tMmlNkSA?v{ZY{nC|ATi9b_DGWCV(}e9gk=z1 zw-XE}WEBfej-`THyg#+22hkqdd4EBq7#wO&{xe<3HZ@%0j6GBYi(Q303O9$?@v$I0 z-=crHThg0*_&=dt!BWGA1L;AjdiEoezgb&V@$|dccSpnA#aBBhX-_#OXAV4pX5{#y z)K}<*t!0zp`W_fSek^F5F};?P{FgABtbByGt*lQX&$?oFwy_6B(&!Kpp`Jo8gpXG} zV0SKwOBt#;@bV?8a=eWWr#12`h|Df-YSIJQMA2jXJ<(hkVNbm`Do)7J^q!DWWwXUPw;;Uk)AN(Gl zNaa?>w!aJ79}kSmSvV?bv<)2A zeW9GgGElnMGxo{gsfy@ssYjrU25G?90Tx|qlJ(I&<_{zOfraY1L7cYsS0`s&3rXk) zmb^ZwQdN3&shK*AkLuHeRf&!_u#;S|z+rLd7Vm8&e4_}e^ zcTVjWiD@4!EeouV?W{w-CJ%(UOg4*L#{?7~Q3Ag4;TE8uo+Q2-ec1KM+y2Opr9i{`2J{eBheq1Buwu#}ly{ zWL?!Ed3pJl>n<9prF^o!wCPF;?vU-;>FMc$>!Z@8Ji;5-&Ee2JyIGFHM8eY{ Ok)f`cPPLZf$NvLfqM`r* diff --git a/examples/seneca/curveVertex3D/curveVertex.htm b/examples/seneca/curveVertex3D/curveVertex.htm deleted file mode 100644 index 73119e68d..000000000 --- a/examples/seneca/curveVertex3D/curveVertex.htm +++ /dev/null @@ -1,102 +0,0 @@ - - - - Processing.js test of curveVertex() using fill() - - - - -

    - - curveVertex() with fill() -

    -

    - curveVertex() and fill() should not form a solid outline.

    -

    - This generates a shape using curveVertex() with fill(). The end result should NOT be a completely connected (outlined) box. The line should only go through the specified - coordinates. The expected result is shown via image on the right. -

    - - - - curveVertex running in PJava -
    - Test written by Dominic Baranski
    -

    - Source Code:

    -
    -size(150,150,P3D);
    -background(128);
    -fill(255);
    -
    -beginShape();
    -  curveVertex(5,26,0);
    -  curveVertex(5,26,0);
    -  curveVertex(73,24,0);
    -  curveVertex(73,61,0);
    -endShape();
    -
    -beginShape();
    -  curveVertex(5,26,0);
    -  curveVertex(73,24,0);
    -  curveVertex(73,61,0);
    -  curveVertex(73,61,0);
    -  curveVertex(15,65,0);
    -endShape();
    -        
    -
    - - diff --git a/examples/seneca/curveVertex3D/curveVertex.pjs b/examples/seneca/curveVertex3D/curveVertex.pjs deleted file mode 100644 index f19bce089..000000000 --- a/examples/seneca/curveVertex3D/curveVertex.pjs +++ /dev/null @@ -1,18 +0,0 @@ -size(150,150,P3D); -background(128); -fill(255); - -beginShape(); - curveVertex(5,26,0); - curveVertex(5,26,0); - curveVertex(73,24,0); - curveVertex(73,61,0); -endShape(); - -beginShape(); - curveVertex(5,26,0); - curveVertex(73,24,0); - curveVertex(73,61,0); - curveVertex(73,61,0); - curveVertex(15,65,0); -endShape(); diff --git a/examples/seneca/customFonts/example.html b/examples/seneca/customFonts/example.html deleted file mode 100644 index 8dcbbba30..000000000 --- a/examples/seneca/customFonts/example.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/customFonts/example.pjs b/examples/seneca/customFonts/example.pjs deleted file mode 100644 index 91ad5ecd3..000000000 --- a/examples/seneca/customFonts/example.pjs +++ /dev/null @@ -1,17 +0,0 @@ -/* @pjs font='{"fontFace": "ADamnMess", "url": "data:font/opentype;base64,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LjEuMjA7SDE1NjUyNjAyO0hMOzAzMTczNTM7Um95IC0tIENsYXJlbmRvbiBIYW5kIFRvb2xlZDpWZXJzaW9uIDEuMDBWZXJzaW9uIDEuMDAgSmFudWFyeSAxMCwgMjAwOSwgaW5pdGlhbCByZWxlYXNlLCB3d3cueW91cmZvbnRzLmNvbVJveS0tQ2xhcmVuZG9uSGFuZFRvb2xlZFRoaXMgZm9udCB3YXMgY3JlYXRlZCB1c2luZyB0aGUgb25saW5lIGZvbnQgZ2VuZXJhdGlvbiBzZXJ2aWNlIGZyb20geW91cmZvbnRzLmNvbQBNAGEAZABlACAAdwBpAHQAaAAgAHkAbwB1AHIAZgBvAG4AdABzAC4AYwBvAG0ALgAgAGgAdAB0AHAAOgAvAC8AYwByAGUAYQB0AGkAdgBlAGMAbwBtAG0AbwBuAHMALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAHAAdQBiAGwAaQBjAGQAbwBtAGEAaQBuAC8AUgBlAGcAdQBsAGEAcgAyAC4AMAAuADEALgAyADAAOwBIADEANQA2ADUAMgA2ADAAMgA7AEgATAA7ADAAMwAxADcAMwA1ADMAOwBSAG8AeQAgAC0ALQAgAEMAbABhAHIAZQBuAGQAbwBuACAASABhAG4AZAAgAFQAbwBvAGwAZQBkADoAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAUgBvAHkALQAtAEMAbABhAHIAZQBuAGQAbwBuAEgAYQBuAGQAVABvAG8AbABlAGQAVABoAGkAcwAgAGYAbwBuAHQAIAB3AGEAcwAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAG8AbgBsAGkAbgBlACAAZgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAaQBvAG4AIABzAGUAcgB2AGkAYwBlACAAZgByAG8AbQAgAHkAbwB1AHIAZgBvAG4AdABzAC4AYwBvAG0AAgAAAAAAAP8nAJYAAAAAAAAAAAAAAAAAAAAAAAAAAABzAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAhACFAL0AhgCLAIoAgwCTAIgAtgC3ALQAtQCCAMIAhwECAIwERXVybwAAAAAAAAH//wAC"}, yanone.ttf'; */ - -PFont myFont; - -void setup() { - background(0); - size(200, 200); - - myFont = createFont("ADamnMess", 32); - textFont(myFont); - text("hello", 52, 60); - - myFont = loadFont("yanone.ttf"); - textFont(myFont, 32); - text("world!", 50, 100); -} - diff --git a/examples/seneca/customFonts/yanone.ttf b/examples/seneca/customFonts/yanone.ttf deleted file mode 100644 index 1d3140c8300b8b006d55d13beb0112944748a7b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105016 zcmeFaX_zEedFOi~A~R#(GIFcT%F3+D>Z-2pQfGIUs#{V^DglxJA%u_wNPy7}2(t)D zV9btTL8^+7PAQ+5le*cqM0{h;1?w5Jy z!#tDSQF$^lwsX$A{@?dKX&hrr$)B1jF23UO2mIg9|GoDZQ$L@*fBKNir$=A-fh*52 z#(52&uX*_S55DqAx83$_3)yn`|lg)p|!`~@T6z_?dKlJ8I46_s+%8w z{&d=k?~kAOl^|Hq)$-j(?XJ`Y_DZwwW`DnE_k7X$nyGtF zGxhoR5$752FO0`$*ZG+9a=tO{@42^g(o1IV&R?0M=D+>qrJirh2hKC*qP=}L|LiTd zn)A%~hwkhdygQwxF>|c%o$tE8#~U9VW4T?q^L>%ZAaukl;&)A90m@d~`^xka}t~GHEnfp4c=7jUB^yw}1^|IX`IxjF6^WCNNdcWcfY7}HI26Yn~i^lRrH8W(-o@zA(vOf(1T z`v=Se?D#y?#IVs9ogcr>|8aBHy7=Gjn0=ldH~&&^i~rxpvG@OV$^YSz|Nme753jZK zZ_br?=(7D;7<$HY8@^X-)C0d!=YPX*gpEf1$1m5d1vMSwxi#1Bu6gyk=hZ!b{)zMI zoaohR99ydge90RJ@W)HhJbs-XH|SR!+kS-%aw7@?KV)QsAf|_UaVcIrYg7;D zI#*{fd1>tQ1PmSr)-@(Hg4rzA8j()X9duhgGY`&RpTq4lXcBC{>|N*tH}(Vm`Rooj zLx*dY>?6~!26NB2aRoo-D~%9c3?m)Djb;z40~j3s(yt^@zk;yNkj6|H{R+Y`(bV1h zf@EU$iW-<2+ZD(_{fZa`4yM|+pF{o-DFL=jyW z20_SYO+~;EhMYu`$DWa|B@hjG=qG&DU>IpeG1uoFdRE&vzTfLtn$U9i;#$mp~k zQ+Tx=#~c&$Hwrm?))o8ALCj<7av^sNqd1K1RKyJq=5S_3k1Qf)UhDh~!zc-JzJgJB zo*>EC8`K+`ZTlQi7zfNiNWY4*VH#eXHlV_sex(s7$0axV@r!58f|#x|TQx4gh(QL8 zdQ?vtA@x$j7zHt-XXQ`MxFdWJ1Wap^@Kq8g9LZSQ(Vo#bV`%#oMNyJOal&VjnEI6@ z30LJXs7*}8(1{46IE{)#{Yrd}PjmIF;cK?(8@xxqW4cej%I2(JK2%s_NkqT6YBOQN z?tSr)d63X`8X^+90vXV+M#d;`MdmtXyb~*2=up9AN~pqFK|}otQ~t&gk7 z+0mn4X&Up$X(U2Te0s&ZLiL?->)3GOq|fW~-?39$&#I zanVex4%g=%d7d!E3{sId(=y63`ZZXLOjK{Sqqxc!I#tmwv$9n!R!v4Y&olkW8Ma

    _vk=A%MO>CV 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�Pc@lgqS< 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 aE&f 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 diff --git a/examples/seneca/ellipse3D/ellipse.html b/examples/seneca/ellipse3D/ellipse.html deleted file mode 100644 index edcf9983f..000000000 --- a/examples/seneca/ellipse3D/ellipse.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - -

    ellipse() test

    - -

    - - -

    - -
    -ellipseMode(CENTER);
    -ellipse(35, 35, 50, 50);
    -ellipseMode(CORNER);
    -fill(102);
    -ellipse(35, 35, 50, 50);
    -ellipseMode(CORNERS);
    -fill(225);
    -ellipse(35, 35, 50, 50);
    -ellipse(35, 35, 75, 15);
    -ellipse(35, 35, 15, 75);
    -    
    - - diff --git a/examples/seneca/ellipse3D/ellipse.pjs b/examples/seneca/ellipse3D/ellipse.pjs deleted file mode 100644 index bb991181b..000000000 --- a/examples/seneca/ellipse3D/ellipse.pjs +++ /dev/null @@ -1,11 +0,0 @@ -size(100, 100, P3D); -ellipseMode(CENTER); -ellipse(35, 35, 50, 50); -ellipseMode(CORNER); -fill(102); -ellipse(35, 35, 50, 50); -ellipseMode(CORNERS); -fill(225); -ellipse(35, 35, 50, 50); -ellipse(35, 35, 75, 15); -ellipse(35, 35, 15, 75); diff --git a/examples/seneca/ellipse3D/ellipse.png b/examples/seneca/ellipse3D/ellipse.png deleted file mode 100644 index 7c80b298300f34dcea649177c7db2226fedb5e4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 959 zcmV;w13>(VP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igV% z6e}<^)iHMf000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0009TNklEG)Sij;|ySoF(HKNF}?SqaGVB=1knQETIVqn&PW(18G{od zhcgn!Nyg{}k%Q@tvH>FxQ**k|4P*t3Q7AZE6o#@P9kNi65Mi}RNe2oEDc;fdSOSXz zi820jl!1hxhNhzkq}Ti*EhW8o>mm~(1!ct1iIdtUVvOAn7tavJC_G&3fs!_i+%Qt^ zMIM2S-hW(S&bw#LX;7DtZ!oE@KyPZ=E8J_{J*+n=%Z+n4UMbS~d}^92+`9*I*G|&U zJ%K45Cw=Yn`MmzKC!CQm_UUH~pUfjqPiwvR*|AE-NmT=Jt>ZY>T4jY0jJ5V_%XvCk zhY*bSzA45TcSK@b%T`sg>dB#$;&Pyjf)TaKl6paPhT%pTdUTRf(qf#{_qk!XZw()V z5Yg9%C;94C8w!r!g`re~)TX0F+v1wkN1zmez08b+&>yxyr35z8vWTKo55ryscv z5ha$23#!=>urUNkpAF&+^T;OgFNK7l0D=MtKuT(sk0I1f>_`X_f&vIY%IA+&-l>R$ zbgtt#s=m3ZK!|Ah4{0JH0KxpB3Z!M*BBCz;0#WMxftEFE%X*sbjeHZ(G$40vtahAHH4TWA2fEa-9HD1ZP2 h1rQWK0D^i|e*pax{8m)B(y{;m002ovPDHLkV1nytmi+(# diff --git a/examples/seneca/ellipse3D/ellipseMode.gif b/examples/seneca/ellipse3D/ellipseMode.gif deleted file mode 100644 index 36221bc3e2bd1df678a3185898ad3b012e608216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcmV;|0Vw`QNk%w1VPpVg0FeLy|NsBY%*47Cb^6X2hPku zie*x(lxz0e<4U~XGGHrikj-UuI9MA z)9CmpCON4D31fMQS+&W@GC;RB#PP>xypKT>RKw}`dD)t6I)m#(Cho_v!Z)9 z^J{$U+mtd)I)MC)tZc#zRt$Z8JnKQ7<&6DpEG@z<2s4m3GW zUq2FGl<%LuZ`Z$p0^VKVhmYVng9rH}RJbr8F^K;dTHyAOA~uV#7v*HsxY3@Ok07CO z>{zX2MRkEx`a5}X6G@lRmPwjPGn_C)ICBD%L1T(feWq>=MF(@=(TGQS9!)xKDLAM| zq=sZ<^%~WxS)XkM;ne3>uwAoNDy#D>+JcAHvTa*-EQzoh<<9MD_iom_dYAGA;y2F% zy7c~{Ak0)S1H@Vl@2snMg0+f{a}gF7xeJZPm@{Lzh0C+((WFb8K8-rH>eZ}UyM7Hj Nw(QxoYriM}06TQe?KA)Y diff --git a/examples/seneca/ellipse3D/ellipseMode.html b/examples/seneca/ellipse3D/ellipseMode.html deleted file mode 100644 index 3b17b6714..000000000 --- a/examples/seneca/ellipse3D/ellipseMode.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - -

    ellipseMode() test

    - -

    - - -

    - -
    -ellipseMode(CENTER);
    -ellipse(35, 35, 50, 50);
    -ellipseMode(CORNER);
    -fill(102);
    -ellipse(35, 35, 50, 50);
    -    
    - - diff --git a/examples/seneca/ellipse3D/ellipseMode.pjs b/examples/seneca/ellipse3D/ellipseMode.pjs deleted file mode 100644 index a0ba43154..000000000 --- a/examples/seneca/ellipse3D/ellipseMode.pjs +++ /dev/null @@ -1,6 +0,0 @@ -size(100, 100, P3D); -ellipseMode(CENTER); -ellipse(35, 35, 50, 50); -ellipseMode(CORNER); -fill(102); -ellipse(35, 35, 50, 50); diff --git a/examples/seneca/file and fragment loading (1818)/fafl.pde b/examples/seneca/file and fragment loading (1818)/fafl.pde deleted file mode 100755 index d7b011426..000000000 --- a/examples/seneca/file and fragment loading (1818)/fafl.pde +++ /dev/null @@ -1,4 +0,0 @@ -void setup() { - size(400,400); - noLoop(); -} \ No newline at end of file diff --git a/examples/seneca/file and fragment loading (1818)/index.html b/examples/seneca/file and fragment loading (1818)/index.html deleted file mode 100755 index aba121754..000000000 --- a/examples/seneca/file and fragment loading (1818)/index.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - File and fragment loading test (ticket 1818) - - - - - -

    Mixed from-file and from-fragment loading of sketches

    - -

    This should show a yellowish sketch, with the text "custom code inclusion worked", centered.

    - - - - \ No newline at end of file diff --git a/examples/seneca/fill/test1/fill_test.html b/examples/seneca/fill/test1/fill_test.html deleted file mode 100644 index 244410d83..000000000 --- a/examples/seneca/fill/test1/fill_test.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/fill/test1/fill_test.js b/examples/seneca/fill/test1/fill_test.js deleted file mode 100644 index f0ffff455..000000000 --- a/examples/seneca/fill/test1/fill_test.js +++ /dev/null @@ -1,380 +0,0 @@ -//import processing.opengl.*; - -int startX; -int startY; -int x; -int y; -int boxCounter = 0; - -void setup() -{ - size(500,500,OPENGL); - - startX = width/2 - 70; - startY = height/2 - 60; - - x = startX; - y = startY; -} - -void draw() -{ - background(100,135,100); - drawBoxes(); -} - -void drawBoxes() -{ - camera(); - - fill(255); - drawNextBox(); - - // single value - noFill(); - drawNextBox(); - - // single value - fill(1); - drawNextBox(); - - fill(50); - drawNextBox(); - - fill(128); - drawNextBox(); - - fill(200); - drawNextBox(); - - fill(255); - drawNextBox(); - - //////////////////////////////////////////////// - // single values for color, color - single value - //////////////////////////////////////////////// - fill(color(0)); - drawNextBox(); - - fill(color(1)); - drawNextBox(); - - fill(color(50)); - drawNextBox(); - - fill(color(200)); - drawNextBox(); - - fill(color(255)); - drawNextBox(); - - /////////////////////////////// - // single value - hex no alpha - /////////////////////////////// - fill(#000000); - drawNextBox(); - - fill(#808080); - drawNextBox(); - - fill(#FFFFFF); - drawNextBox(); - - noFill(); - drawNextBox(); - - fill(#00FF00); - drawNextBox(); - - fill(#0000FF); - drawNextBox(); - - fill(#FFFF00); - drawNextBox(); - - fill(#FF00FF); - drawNextBox(); - - fill(#00FFFF); - drawNextBox(); - - fill(#214263); - drawNextBox(); - - /////////////////////////////////////////////// - // single value - color, color multiple values - ////////////////////////////////////////////// - fill(color(0,0,0)); - drawNextBox(); - - fill(color(128,128,128)); - drawNextBox(); - - fill(color(255,255,255)); - drawNextBox(); - - fill(color(255,0,0)); - drawNextBox(); - - fill(color(0,255,0)); - drawNextBox(); - - fill(color(0,0,255)); - drawNextBox(); - - fill(color(255,255,0)); - drawNextBox(); - - fill(color(255,0,255)); - drawNextBox(); - - fill(color(0,255,255)); - drawNextBox(); - - fill(color(33,66,99)); - drawNextBox(); - - ///////////////////////////////// - // double values - color + alpha - ///////////////////////////////// - fill(color(0,0,0),0); - drawNextBox(); - - fill(color(128,128,128),0); - drawNextBox(); - - fill(color(255,255,255),0); - drawNextBox(); - - fill(color(255,0,0),255); - drawNextBox(); - - fill(color(0,255,0),255); - drawNextBox(); - - fill(color(0,0,255),128); - drawNextBox(); - - fill(color(255),0); - drawNextBox(); - - fill(color(0,0,255),0); - drawNextBox(); - - fill(color(0,255,0),128); - drawNextBox(); - - fill(color(255,0,0),0); - drawNextBox(); - - fill(color(255),128); - drawNextBox(); - - fill(color(255),0); - drawNextBox(); - - fill(color(255),255); - drawNextBox(); - - fill(color(128),255); - drawNextBox(); - - fill(color(128),128); - drawNextBox(); - - // hex + alpha - fill(#000000,128); - drawNextBox(); - - fill(#808080,255); - drawNextBox(); - - fill(#FFFFFF,0); - drawNextBox(); - - fill(#FF0000,255); - drawNextBox(); - - fill(#00FF00,255); - drawNextBox(); - - fill(#0000FF,128); - drawNextBox(); - - fill(#FFFF00,255); - drawNextBox(); - - fill(#FF00FF,128); - drawNextBox(); - - fill(#00FFFF,0); - drawNextBox(); - - fill(#214263,128); - drawNextBox(); - - //////////////// - // gray + alpha - //////////////// - fill(0,0); - drawNextBox(); - - fill(0,128); - drawNextBox(); - - fill(0,255); - drawNextBox(); - - fill(1,0); - drawNextBox(); - - fill(1,128); - drawNextBox(); - - fill(1,255); - drawNextBox(); - - fill(50,0); - drawNextBox(); - - fill(50,128); - drawNextBox(); - - fill(50,255); - drawNextBox(); - - fill(128,0); - drawNextBox(); - - fill(128,128); - drawNextBox(); - - fill(128,255); - drawNextBox(); - - fill(255,255); - drawNextBox(); - - fill(255,128); - drawNextBox(); - - fill(255,0); - drawNextBox(); - - /////////////////////// - // triple values r,g,b - ////////////////////// - fill(0,0,0); - drawNextBox(); - - fill(128,128,128); - drawNextBox(); - - fill(255,255,255); - drawNextBox(); - - fill(255,0,0); - drawNextBox(); - - noFill(); - drawNextBox(); - - fill(0,0,255); - drawNextBox(); - - fill(255,255,0); - drawNextBox(); - - fill(255,0,255); - drawNextBox(); - - fill(0,255,255); - drawNextBox(); - - fill(33,66,99); - drawNextBox(); - - /////////////// - // quad values - /////////////// - fill(0,0,0,0); - drawNextBox(); - - fill(0,0,0,128); - drawNextBox(); - - fill(0,0,0,255); - drawNextBox(); - - fill(128,128,128,0); - drawNextBox(); - - fill(128,128,128,128); - drawNextBox(); - - fill(128,128,128,255); - drawNextBox(); - - fill(255,255,255,0); - drawNextBox(); - - // !! - fill(255,255,255,53); - drawNextBox(); - - fill(255,255,255,255); - drawNextBox(); - - fill(255,0,0,0); - drawNextBox(); - - fill(255,0,0,128); - drawNextBox(); - - fill(255,0,0,255); - drawNextBox(); - - fill(0,255,0,0); - drawNextBox(); - - fill(0,255,0,128); - drawNextBox(); - - fill(0,255,0,255); - drawNextBox(); - - fill(33,66,99,0); - drawNextBox(); - - fill(33,66,99,128); - drawNextBox(); - - fill(33,66,99,255); - drawNextBox(); -} - -void drawNextBox() -{ - x += 10; - - if(boxCounter != 0 && boxCounter % 10 == 0) - { - y += 10; - x = startX + 10; - } - - if(boxCounter == 100) - { - boxCounter = 0; - x = startX + 10; - y = startY; - } - - pushMatrix(); - translate(x, y, 320); - // translate(200, 250, 320); - box(5,5,5); - popMatrix(); - - boxCounter++; -} \ No newline at end of file diff --git a/examples/seneca/fill/test1/p5_result.jpg b/examples/seneca/fill/test1/p5_result.jpg deleted file mode 100644 index fac1bf3d0e420486c9d6f1a9f965b30dea86aca9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67199 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 iH{ysn@*kM*kPmRdN6T diff --git a/examples/seneca/focus (1089)/focusblur.pde b/examples/seneca/focus (1089)/focusblur.pde deleted file mode 100755 index eb5e1d575..000000000 --- a/examples/seneca/focus (1089)/focusblur.pde +++ /dev/null @@ -1,29 +0,0 @@ -interface Javascript {} -Javascript javascript=null; -void bindJavascript(Javascript js) { javascript=js; } - -void setup() -{ - size(200,200); - frameRate(60); - text("",0,0); -} - -float off = 0; -float ostep = PI/180; -void draw() -{ - if(focused) { background(250,255,250); } - else { background(255,250,250); } - off = off+ostep; - float dval = abs(255*sin(off)); - int val = (int) dval; - int c = 255 - val; - stroke(0,100); - noFill(); - ellipse(width/2, height/2, c, c); - fill(0); - String f = (focused? "focused" : "unfocused"); - float w = textWidth(f); - text(f, (width-w)/2, height/2); -} \ No newline at end of file diff --git a/examples/seneca/focus (1089)/index.html b/examples/seneca/focus (1089)/index.html deleted file mode 100755 index 368196021..000000000 --- a/examples/seneca/focus (1089)/index.html +++ /dev/null @@ -1,56 +0,0 @@ - - - p.focused test - - - - - -

    no pauseOnBlur directive

    -
    -

    A Processing.js noCurosr() Example

    - -

    Roll over the white rectangles to see the cursor disappear!

    - -
    -

    sketch 1 (index 1)

    - -
    focussable
    -
    -

    sketch 2 (no index)

    - -
     
    -
    -

    sketch 3 (index 2)

    - -
    focussable
    -
    -

    sketch 4 (no index)

    - -
     
    -
    - -

    /* @pjs pauseOnBlur="true"; */

    -
    -

    sketch 5 (index 3)

    - -
    focussable
    -
    -

    sketch 6 (no index)

    - -
     
    -
    -

    sketch 7 (index 4)

    - -
    focussable
    -
    -

    sketch 8 (no index)

    - -
     
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/focus (1089)/pauseonblur.pde b/examples/seneca/focus (1089)/pauseonblur.pde deleted file mode 100755 index 28f5eb538..000000000 --- a/examples/seneca/focus (1089)/pauseonblur.pde +++ /dev/null @@ -1,31 +0,0 @@ -/* @pjs pauseOnBlur="true"; */ - -interface Javascript {} -Javascript javascript=null; -void bindJavascript(Javascript js) { javascript=js; } - -void setup() -{ - size(200,200); - frameRate(60); - text("",0,0); -} - -float off = 0; -float ostep = PI/180; -void draw() -{ - if(focused) { background(250,255,250); } - else { background(255,250,250); } - off = off+ostep; - float dval = abs(255*sin(off)); - int val = (int) dval; - int c = 255 - val; - stroke(0,100); - noFill(); - ellipse(width/2, height/2, c, c); - fill(0); - String f = (focused? "focused" : "unfocused"); - float w = textWidth(f); - text(f, (width-w)/2, height/2); -} \ No newline at end of file diff --git a/examples/seneca/fontcache (1741)/fontcache.pde b/examples/seneca/fontcache (1741)/fontcache.pde deleted file mode 100755 index e3747f368..000000000 --- a/examples/seneca/fontcache (1741)/fontcache.pde +++ /dev/null @@ -1,25 +0,0 @@ -void setup() -{ - size(200,200); - text("",0,0); -} - -void draw() -{ - float ts = random(10,60); - textSize(ts); - fill(255,255,0,50); - rect(-1,-1,width+2,height+2); - fill(0); - float tw = textWidth("testing"); - text("testing",(width-tw)/2,(height+ts/2)/2); - - var cl = Processing.prototype.PFont.PFontCache.length; - - var caching = Processing.prototype.PFont.prototype.caching || false; - if(!caching && cl) caching = "metrics only"; - document.getElementById("cache").innerHTML = caching; - - if(!cl) cl = "n/a"; - document.getElementById("log").innerHTML = cl; -} diff --git a/examples/seneca/fontcache (1741)/index.html b/examples/seneca/fontcache (1741)/index.html deleted file mode 100755 index 11c780ce2..000000000 --- a/examples/seneca/fontcache (1741)/index.html +++ /dev/null @@ -1,37 +0,0 @@ - - - fontcache - - - - - -

    Font cache testing

    - - - -

    This test makes sure that even though a large number of - distinct font objects will be used, Processing.js switches - over from full font object caching to initial-metrics-only - caching when 50 fonts have been cached, turning off caching - entirely once the metrics-only font cache hits 400 fonts.

    - -

    The test is performed by having a sketch use a textSize(random(10,60)), - which allows for 501 distinct font name/size pairs to be cached, due to - font sizes being rounded to a single decimal value. As such even though - one font is used, its possible size values 10.0, 10.1, ... , 59.9, 60.0 - leads to 501 possible pairs.

    - -
    caching:
    - -
    cache size:
    - - \ No newline at end of file diff --git a/examples/seneca/hex/hex.pjs b/examples/seneca/hex/hex.pjs deleted file mode 100644 index 015e81887..000000000 --- a/examples/seneca/hex/hex.pjs +++ /dev/null @@ -1,68 +0,0 @@ -// Hex example -size(500,220); -background(20); -stroke(128, 128, 128); -fill(64); -rect(1, 1, width-3, height-3); - -byte b1 = 23; -byte b2 = 127; -byte b3 = -127; -byte b4 = -127; - -char c1 = 'A'; -char c2 = '#'; -char c3 = '9'; -char c4 = 'Z'; - -int i1 = 255; -int i2 = -65535; -int i3 = 65536; -int i4 = 429844428; - -color cl1 = color(255,0,0,0); -color cl2 = #ffcc00; -color cl3 = color(34,255,204,153); -color cl4 = color(0,102,153,255); - -PFont font; -font = loadFont("Arial"); -textFont(font, 14); -fill(32, 255, 0); -text("Bytes", 5, 20); -text("Chars", 5, 120); -text("Ints", 195, 20); -text("Colors", 195, 120); -fill(255, 255, 255); -text("b1: " + b1, 15, 40); -text("hex: " + hex(b1), 80, 40); -text("b2: " + b2, 15, 60); -text("hex: " + hex(b2), 80, 60); -text("b3: " + b3, 15, 80); -text("hex: " + hex(b3), 80, 80); -text("b4: " + b4, 15, 100); -text("hex: " + hex(b4,2), 80, 100); -text("c1: " + c1, 15, 140); -text("hex: " + hex(c1), 80, 140); -text("c2: " + c2, 15, 160); -text("hex: " + hex(c2), 80, 160); -text("c3: " + c3, 15, 180); -text("hex: " + hex(c3), 80, 180); -text("c4: " + c4, 15, 200); -text("hex: " + hex(c4,4), 80, 200); -text("i1: " + i1, 200, 40); -text("hex: " + hex(i1), 370, 40); -text("i2: " + i2, 200, 60); -text("hex: " + hex(i2), 370, 60); -text("i3: " + i3, 200, 80); -text("hex: " + hex(i3), 370, 80); -text("i4: " + i4, 200, 100); -text("hex: " + hex(i4), 370, 100); -text("cl1: " + cl1, 200, 140); -text("hex: " + hex(cl1), 370, 140); -text("cl2: " + cl2, 200, 160); -text("hex: " + hex(cl2), 370, 160); -text("cl3: " + cl3, 200, 180); -text("hex: " + hex(cl3), 370, 180); -text("cl4: " + cl4, 200, 200); -text("hex: " + hex(cl4), 370, 200); diff --git a/examples/seneca/hex/hex.png b/examples/seneca/hex/hex.png deleted file mode 100644 index 3d5d13de1cd1f56fb2e583d757b05a451f026723..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32996 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

    9}XaTo=pfZn-M01r8LKHx}#BdK1V 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 U4>457BH(l3yaqP&>`lM_2Swd^CjbBd diff --git a/examples/seneca/hex/hextest.htm b/examples/seneca/hex/hextest.htm deleted file mode 100644 index 4e0c794b6..000000000 --- a/examples/seneca/hex/hextest.htm +++ /dev/null @@ -1,157 +0,0 @@ - - - - Processing.js test of hex() - - - - - - - - - - -

    - - hex() test

    -

    - This is a test of hex(value, digits)

    -

    - hex() converts a byte, char, int, or color to a String containing the equivalent hexadecimal notation. For example color(0, 102, 153, 255) will convert to the String "FF006699".

    - - - -
    - Test written by Daniel Hodgin
    -

    - Source Code:

    -
    -// 	Hex example
    -size(500,220, P3D);
    -background(20);
    -stroke(128, 128, 128);
    -fill(64);
    -rect(1, 1, width-3, height-3);
    -
    -byte b1 = 23;
    -byte b2 = 127;
    -byte b3 = -127;
    -byte b4 = -127;
    -
    -char c1 = 'A';
    -char c2 = '#';
    -char c3 = '9';
    -char c4 = 'Z';
    -
    -int i1 = 255;
    -int i2 = -65535;
    -int i3 = 65536;
    -int i4 = 429844428;
    -
    -color cl1 = color(255,0,0,0);
    -color cl2 = #ffcc00;
    -color cl3 = color(34,255,204,153);
    -color cl4 = color(0,102,153,255);
    -
    -PFont font;
    -font = loadFont("Arial"); 
    -textFont(font, 14);
    -fill(32, 255, 0);
    -text("Bytes", 5, 20);
    -text("Chars", 5, 120);
    -text("Ints", 195, 20);
    -text("Colors", 195, 120);
    -fill(255, 255, 255);
    -text("b1: " + b1, 15, 40);
    -text("hex: " + hex(b1), 80, 40);
    -text("b2: " + b2, 15, 60);
    -text("hex: " + hex(b2), 80, 60);
    -text("b3: " + b3, 15, 80);
    -text("hex: " + hex(b3), 80, 80);
    -text("b4: " + b4, 15, 100);
    -text("hex: " + hex(b4,2), 80, 100);
    -text("c1: " + c1, 15, 140);
    -text("hex: " + hex(c1), 80, 140);
    -text("c2: " + c2, 15, 160);
    -text("hex: " + hex(c2), 80, 160);
    -text("c3: " + c3, 15, 180);
    -text("hex: " + hex(c3), 80, 180);
    -text("c4: " + c4, 15, 200);
    -text("hex: " + hex(c4,4), 80, 200);
    -text("i1: " + i1, 200, 40);
    -text("hex: " + hex(i1), 370, 40);
    -text("i2: " + i2, 200, 60);
    -text("hex: " + hex(i2), 370, 60);
    -text("i3: " + i3, 200, 80);
    -text("hex: " + hex(i3), 370, 80);
    -text("i4: " + i4, 200, 100);
    -text("hex: " + hex(i4), 370, 100);
    -text("cl1: " + cl1, 200, 140);
    -text("hex: " + hex(cl1), 370, 140);
    -text("cl2: " + cl2, 200, 160);
    -text("hex: " + hex(cl2), 370, 160);
    -text("cl3: " + cl3, 200, 180);
    -text("hex: " + hex(cl3), 370, 180);
    -text("cl4: " + cl4, 200, 200);
    -text("hex: " + hex(cl4), 370, 200);
    -        
    -
    - - diff --git a/examples/seneca/imageCopy/imageCopy.html b/examples/seneca/imageCopy/imageCopy.html deleted file mode 100644 index 1e6cade34..000000000 --- a/examples/seneca/imageCopy/imageCopy.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - Processing.js test of copy(img, ....) - - - -

    Source Code:

    -
    -// @pjs preload must be used to preload the image
    -/* @pjs preload="test.png"; */
    -
    -PImage img = loadImage("test.png");
    -
    -void setup() {
    -  size(75, 75);
    -  noLoop();
    -}
    -
    -void draw() {
    -  background(75, 120, 125, 250);
    -  fill(20, 60, 125);
    -  rect(40, 40, 30, 30);
    -  copy(img, 0, 0, img.width, img.height, mouseX, mouseY, img.width, img.height);
    -  noFill();
    -}
    -
    -void mouseClicked(){
    -  redraw();
    -}
    -  
    -
    - - diff --git a/examples/seneca/imageCopy/imageCopy.pjs b/examples/seneca/imageCopy/imageCopy.pjs deleted file mode 100644 index beb7e37ba..000000000 --- a/examples/seneca/imageCopy/imageCopy.pjs +++ /dev/null @@ -1,22 +0,0 @@ -// @pjs preload must be used to preload the image -/* @pjs preload="test.png"; */ - -PImage img = loadImage("test.png"); - -void setup() { - size(75, 75); - noLoop(); -} - -void draw() { - background(75, 120, 125, 250); - fill(20, 60, 125); - rect(40, 40, 30, 30); - copy(img, 0, 0, img.width, img.height, mouseX, mouseY, img.width, img.height); - noFill(); -} - -void mouseClicked(){ - redraw(); -} - diff --git a/examples/seneca/imageCopy/test.png b/examples/seneca/imageCopy/test.png deleted file mode 100644 index 7a0e962d69816531fc0032a89ea38511ea8e6058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1910 zcmV-+2Z{KJP)P000>X1^@s6#OZ}&0008cX+uL$Nkc;* zP;zf(X>4Tx0C?Jslgn!qSrmuA>fE4^APlsxUJRF6NRT9y4>Te^(n)Nhv2DsklORZ^ z`gV7jo9dcd)o~ON$;PG5FnjT_aN!@|!i6i{C=q-ihL_x=1& zqpK9Ub6~B6)ccYOUFi4>)GCux(;zgEJ{biOh;u;N#QOh0dM4)UK-!EuLm+MetK7gu zAnpMJZnao~P66~*5;Zdkp3`-=InN(JxAG?r0~;W9R)r%?wiZgo;R8TFSg%TIcm(JL z>w4MSHwyFs&&y`tM9kJkFB%<>Id#O>`LQOi^Jnshnw}zvvd)r!IDdF#Nk38CUjQ;- zIkU9`4zLDNdrw!#kH&22)77DTlOLJ7GXeYsscV5QjK#C1?l6T$;o+n3kvQbY(no-y zMi~zejYkfJkHX*)GW*?1O(DUO953;CiNWJ<>L?@*N66+`=xsSj`>FlLer#X1ui39J zX6ild%z`=Yxr-OxQ9xl@zRhfNrr6)5#vmF^1;t!zr!X;TV!E<_G1GQ(7cab1=kp&E zTdG8-K4wsa%wq7EN1+K(3?{n$==K!)?wMQb+Pxl&o5vn@-#xSJu4>({vqfgs^sNTl?T(0oIzuwiX?PU2mb|L0jv|!0JnI zbDLW?^G$2Zx(|{1CjuC%1*eQxsYY_MZEu%@L7uTmU%{Ve zvW?gw!v;36fs7N9(Ik^ZBW!0p_PFi-_g)o?dIpmWSw!5``%`sKoqNx@75>3znKpA6 zI7s{zf6shc@np>O$27>WPmOxSpik`6RLsAig=6vod9SR`5Hl}fJFt`43A_||u3|W+ z9uoElR{%YR+ib7$qne*)UO(s7CQB14RKKL!r@C9-Lyf4!8g5`MFl?zS!b8Fv9SG`M zyf9_AVz*``^S5PwKj!`x=R?{Dw0+tg+WijXDi(npNKJXq*Z#Rnb%UkAR^;u#FEUG+ z7jZn|Jkpyozs)Q$KVoslqQ*SXCdPrwmNwF47MHYl$oH^AY^ehStYDB!6;=Y9EnA7@ zz~vI>b1t^IoGY8gn8pIM5z9#j6Pg~)5ov?)fbb>~XOV-B!CK~FpkMI{p3j^oPAa~{ zNgs7)-m$qE*~o>(A9|$2PBA0GfGQF) z%rleBY*d<d4c~!^~%>5`Ss-GIB~MzazJyhQ`GgCkr$*T7MRt{6Y&Zp{AX(9Zi3Xgs4>^w31)#sMYBwEaBZ+% z#e_VhowA5bD`rTk?60nsHFP5OKjsOO@+X5jGO z>*c~Q#Ex~QjcqAMI{V7$uVRmUPChCLXMu6&=EGdPGQW-yO1UR37oEvtj7$eCmPzAh z1O1!LT(|r@73XjE_(@_l+~fN-hmX0KvDhtipT#KLCB8-PlI1BkN4%1FHFKxp zHeSfQj3qqnF2Y{*Tl!C!d|pO-diNO~xr%qOPI`+pWIpGj;&H>5b-5Q8rf&wo>l*R(|lr!DiycQa>L&-^p;=gejJ9fKk5H;PoDFR{X4Gv*we;r??gNslNrl*Lt-@e^jRP^MO&1LCdRwpNGz+-xlC&%uv6~ w+L+gu`E}-3(f=>n+a07*qoM6N<$g47kBJ^%m! diff --git a/examples/seneca/inline/inline.htm b/examples/seneca/inline/inline.htm deleted file mode 100644 index e63231790..000000000 --- a/examples/seneca/inline/inline.htm +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -

    Inline Processing.js code

    - -

    - -

    -
    - -
    <script id="pdeCode" type="application/processing">
    -void setup() {
    -  size(100,100);
    -  background(#00FF00);
    -}
    -</script>
    -<canvas width="200" height="200" data-processing-sources="#pdeCode"></canvas>
    - - diff --git a/examples/seneca/inspection (1867)/index.html b/examples/seneca/inspection (1867)/index.html deleted file mode 100755 index 8eec30ea3..000000000 --- a/examples/seneca/inspection (1867)/index.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Processing inspector extension test - - - - -

    Processing Inspector

    - -

    number spinners should be continuously updated. spin them to see the line change. - click sketch to pause, allowing spinner updates. click sketch again to release monitored - values (changing them still affects sketch, but sketch no longer affects them).

    - - - - -
    - - -
    - - - diff --git a/examples/seneca/keyCode/keyCode.htm b/examples/seneca/keyCode/keyCode.htm deleted file mode 100644 index fa0cb9b59..000000000 --- a/examples/seneca/keyCode/keyCode.htm +++ /dev/null @@ -1,90 +0,0 @@ - - - - Processing.js test of keyCode - - - - -

    - - keyCode -

    -

    - Pressing buttons generates the keyCode

    - - - -

    - Source Code:

    -
    -void draw() { } // Empty draw() needed to keep the program running
    -
    -void keyPressed() {
    -  println("pressed " + int(key) + " " + keyCode);
    -}
    -
    -void keyTyped() {
    -  println("typed " + int(key) + " " + keyCode);
    -}
    -
    -void keyReleased() {
    -  println("released " + int(key) + " " + keyCode);
    -}
    -        
    -
    - - diff --git a/examples/seneca/keyCode/keyCode.pjs b/examples/seneca/keyCode/keyCode.pjs deleted file mode 100644 index 92430516e..000000000 --- a/examples/seneca/keyCode/keyCode.pjs +++ /dev/null @@ -1,16 +0,0 @@ -// Run this program to learn how each of these functions -// relate to the others - -void draw() { } // Empty draw() needed to keep the program running - -void keyPressed() { - println("pressed " + int(key) + " " + keyCode); -} - -void keyTyped() { - println("typed " + int(key) + " " + keyCode); -} - -void keyReleased() { - println("released " + int(key) + " " + keyCode); -} diff --git a/examples/seneca/keyEvents (1042 1065)/bypass.pde b/examples/seneca/keyEvents (1042 1065)/bypass.pde deleted file mode 100755 index 61b8fef04..000000000 --- a/examples/seneca/keyEvents (1042 1065)/bypass.pde +++ /dev/null @@ -1 +0,0 @@ -/* @pjs globalKeyEvents="true"; */ \ No newline at end of file diff --git a/examples/seneca/keyEvents (1042 1065)/index.html b/examples/seneca/keyEvents (1042 1065)/index.html deleted file mode 100644 index ef9cd76a2..000000000 --- a/examples/seneca/keyEvents (1042 1065)/index.html +++ /dev/null @@ -1,45 +0,0 @@ - - - pjs.instances test - - - - - -
    -

    sketch 1 (index 1)

    - -
    -

    sketch 2 (no index)

    - -
    -

    sketch 3 (index 2)

    - -
    -

    sketch 4 (no index)

    - -
    - -

    test controls: focus on a canvas, use 'w'/'s' to raise/lower the line for that canvas. Tab/focus order should be 1 → 3 → 2 → 4.

    - -

    The following two sketches are loaded with the additional leading /* @pjs globalKeyEvents="true"; */ statement, and should receive all key events

    -
    -

    sketch 5 (index 3)

    - -
    -

    sketch 6 (no index)

    - -
    - - - diff --git a/examples/seneca/keyEvents (1042 1065)/keyPress.html b/examples/seneca/keyEvents (1042 1065)/keyPress.html deleted file mode 100644 index 68b5ec4da..000000000 --- a/examples/seneca/keyEvents (1042 1065)/keyPress.html +++ /dev/null @@ -1,106 +0,0 @@ - - - keypress - - - - - - - - - - - - - - - - - - -
    - - - -
    -
    -  void setup() { size(200,200); noLoop(); }
    -  void draw() { background(255); }
    -  void keyPressed() { println("[" + key + "] "+int(key)+"/"+keyCode); }
    -
    -
    -
    -  void setup() { size(200,200); noLoop(); }
    -  void draw() { background(255); }
    -  void keyPressed() {
    -     println(key);
    -   }
    -
    -
    - KeyPress should print: - - KeyPress should print the actual letter that you press: (aA-zZ): -
    -
    -NORMAL KEYCODES:
    -
    -  [ ] 9/9 // tab
    -  [] 27/27  // esc, 'key' actually contains ascii ESCAPE code
    -  [ ] 32/32 // space
    -  [!] 33/49
    -  ["] 34/222
    -  [#] 35/51
    -  [$] 36/52
    -  [%] 37/53
    -  [&] 38/55
    -  ['] 39/222
    -  [A] 65/65
    -  [B] 66/66
    -  [C] 67/67
    -  [D] 68/68
    -  [E] 69/69
    -  [F] 70/70
    -  [G] 71/71
    -  [H] 72/72
    -  [I] 73/73
    -  [J] 74/74
    -  [K] 75/75
    -  [L] 76/76
    -  [M] 77/77
    -NUMERIC PAD, NO NUMLOCK:
    -
    -  [?] 65535/35  // end
    -  [?] 65535/40  // down cursor
    -  [?] 65535/34  // pgdn
    -  [?] 65535/37  // left cursor
    -  [?] 65535/12  // 5, no idea what that button maps to
    -  [?] 65535/39  // right cursor
    -  [?] 65535/36  // home
    -  [?] 65535/38  // up cursor
    -  [?] 65535/33  // pgup
    -NUMERIC PAD, NUMLOCKED:
    -
    -  [0] 48/96
    -  [1] 49/97
    -  [2] 50/98
    -  [3] 51/99
    -  [4] 52/100
    -  [5] 53/101
    -  [6] 54/102
    -  [7] 55/103
    -  [8] 56/104
    -  [9] 57/105
    -  [.] 46/110
    -  [
    -  ] 10/10 // enter, 'key' actually contains \10 code
    -  [+] 43/107
    -  [-] 45/109
    -  [*] 42/106
    -  [/] 47/111
    -
    - -
    - - - diff --git a/examples/seneca/keyEvents (1042 1065)/keyevent.pde b/examples/seneca/keyEvents (1042 1065)/keyevent.pde deleted file mode 100755 index 3be4e4bbe..000000000 --- a/examples/seneca/keyEvents (1042 1065)/keyevent.pde +++ /dev/null @@ -1,37 +0,0 @@ -int y; -interface Javascript {} -Javascript javascript=null; -void bindJavascript(Javascript js) { javascript=js; } - -void setup() -{ - size(200,200); - y = height/2; - frameRate(60); -} - -float off = 0; -float ostep = PI/180; -void draw() -{ - background(255); - off = off+ostep; - float dval = abs(255*sin(off)); - int val = (int) dval; - int c = 255 - val; - stroke(0,100); - ellipse(width/2, height/2, c, c); - stroke(0); - line(100,y,200,y); -} - -void keyPressed() -{ - // Processing vs Processing.js - if( (javascript==null && key=='+' && keyCode==61) || (javascript!=null && (key==187 || key==119))) { up(); } - else if( (javascript==null && key=='-' && keyCode==45) || (javascript!=null && (key==189 || key==115))) { down(); } -} - -int step = 2; -void up() { if(y>0) y-=step; } -void down() { if(y - - - - Lazy Loading example - - - - - -

    Lazy loading test example

    - -

    This page contains several sketches, each taking 400ms to load up. Scrolling the page will pause when a new sketch comes into view, loading it up. Normally a sketch will take nowhere near 400ms to load, most of the time will be in the downloading of the source code, during which time the browser will stay responsive. Actual sketch loading will pause the page - this is by design. You should be able to see the scrollbar area 'grow' as sketches are loaded, since each sketch will make the page longer.

    - -

    code used:

    - -
    void setup()
    -{
    -  size((int)random(100,400),(int)random(100,400));
    -  text("",0,0);
    -  takeTime();
    -  noLoop();
    -}
    -
    -void takeTime()
    -{
    -  // this will take roughly 400ms to complete
    -  float stop = millis() + 400;
    -  while(millis() < stop) {
    -    String s = "lalala";
    -    textWidth(s); }
    -}
    -
    -void draw()
    -{
    -  background(255,200,200);
    -  fill(0);
    -  String loadtext = "Sketch loaded as "+width+"/"+height;
    -  text(loadtext, (width-textWidth(loadtext))/2, height/2);
    -}
    -
    - -

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam sit amet sem eros. Nulla vulputate faucibus odio at pulvinar. Integer eu ante magna, at venenatis sem. Phasellus vulputate dignissim libero eu laoreet. Ut a arcu mauris, ac rutrum mi. Proin ornare justo ac mauris dictum dictum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed libero mi, sagittis a eleifend nec, venenatis vitae turpis. Etiam dictum ullamcorper sodales. Vivamus ante tortor, fermentum sit amet venenatis quis, faucibus ut nisi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed semper urna nec tortor dapibus id lacinia sem dictum. In hac habitasse platea dictumst. Nam vehicula erat vel lorem cursus in tempor diam placerat. Integer mattis rutrum enim, eget condimentum augue consequat nec. Donec eget sem id ante viverra pharetra et vitae enim. Vivamus porttitor neque eu velit malesuada sagittis ac eget arcu.

    - - - -

    Maecenas laoreet vehicula sagittis. Morbi faucibus, nunc id imperdiet dignissim, sem eros ultricies diam, eu rhoncus risus eros ut nisi. Integer nec elit massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean feugiat elit mi, nec auctor tortor. In metus tellus, vestibulum eu accumsan vitae, aliquam porta justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras id mauris id mi scelerisque volutpat et et est. Proin faucibus lacus a lorem accumsan pellentesque. Maecenas a malesuada arcu. Suspendisse quis purus justo. Etiam placerat, odio id hendrerit laoreet, massa enim varius quam, ac volutpat massa nisi non nunc. Fusce euismod massa eget tortor vehicula faucibus. Donec suscipit nibh vitae libero facilisis et congue est iaculis. Pellentesque non justo nec sapien vehicula vehicula nec sed sapien. Sed ac elit eu dui placerat ornare. Curabitur at metus at eros suscipit iaculis.

    - - - -

    Aliquam aliquet posuere facilisis. Vivamus est ipsum, dignissim vel pulvinar eu, gravida sed lacus. Mauris a lacus et arcu rutrum elementum nec eu velit. Morbi elit metus, imperdiet et posuere a, bibendum ac diam. Integer mauris ipsum, ornare eu tincidunt et, ullamcorper dignissim massa. Maecenas sodales pretium dui. Sed libero ipsum, porta vel volutpat eget, porta varius diam. Vestibulum ac venenatis mi. Nulla a metus nec magna pulvinar mattis id non mi. Suspendisse ac tellus quis tellus blandit semper. Duis tempor laoreet tellus, vitae molestie dui sagittis non. Nam quis ligula arcu. Duis bibendum justo at purus imperdiet accumsan. Maecenas egestas pellentesque nibh, ut rutrum elit scelerisque ac. Praesent consequat lacus sit amet erat iaculis in pellentesque risus congue. Curabitur bibendum tortor quis nisl ultricies dapibus. Quisque sed sapien mauris, in aliquam tellus.

    - - - -

    Ut ante erat, porta posuere pulvinar vel, vulputate vitae lorem. Sed tristique rhoncus neque, vel fringilla eros rhoncus placerat. Aenean enim velit, fermentum a lacinia sed, volutpat vitae ipsum. Nam nec lacus nulla, non elementum ante. Nunc varius, libero imperdiet vulputate euismod, justo leo imperdiet purus, vitae varius lacus nisi at ante. Phasellus fringilla est feugiat purus convallis ultrices. Nulla consequat, neque in accumsan tincidunt, purus lectus facilisis eros, non ullamcorper dui est eget nisl. Nulla sit amet sodales massa. Praesent pretium, justo ut ullamcorper tincidunt, felis nunc bibendum massa, vitae egestas mauris velit at eros. Mauris pellentesque dapibus nibh eget sagittis. Curabitur rutrum risus eu nunc sodales scelerisque. Quisque sed nunc eget erat rutrum fringilla et vehicula mauris. Maecenas ligula arcu, aliquam sit amet mollis sit amet, laoreet at purus. Phasellus vulputate nisi non mauris consectetur dignissim. Praesent euismod dictum velit, eu consequat purus posuere nec. In scelerisque consequat ante, nec euismod elit pretium vitae. In quis tortor est.

    - - - -

    In hac habitasse platea dictumst. Curabitur dictum, quam a tristique rutrum, velit felis molestie elit, sit amet elementum justo enim ac dolor. Praesent lacinia tortor et odio mollis tristique. Ut tincidunt viverra quam vitae auctor. Sed nunc ligula, sagittis sed dictum vitae, consequat sed metus. Ut et ipsum vitae ligula placerat consequat. Suspendisse potenti. Quisque lacinia tincidunt erat et facilisis. Curabitur velit augue, mollis in posuere nec, egestas sit amet dolor. In blandit leo ac mauris ornare auctor. Ut pretium interdum porta. Quisque eu justo velit, ac ornare velit. Sed laoreet sollicitudin dolor ut ornare. Aenean non erat mi, posuere rutrum orci. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus tincidunt lacus nec dolor facilisis vitae viverra lacus dapibus.

    - - - -

    Cras id posuere purus. Praesent ut egestas leo. Nullam augue ante, faucibus sit amet gravida sed, lacinia a nisi. Morbi semper, lorem et convallis vestibulum, enim nibh sollicitudin justo, vel imperdiet sapien lacus et lorem. Praesent cursus consectetur neque at tempus. Sed diam lorem, tempus et ultricies eu, elementum sed mauris. Suspendisse arcu nunc, ultrices in dapibus et, mollis eget turpis. Donec ac justo dolor. Suspendisse ullamcorper porttitor eros ac aliquam. Suspendisse eu venenatis orci. Suspendisse aliquet mi turpis. Nunc at consequat ipsum. Fusce et lacus nisl. In venenatis felis nec mauris faucibus quis pretium libero elementum. Fusce dignissim volutpat mattis. Ut in tortor sem, eu euismod nulla. Sed varius augue quis enim volutpat eget porta augue vehicula. Nullam hendrerit velit interdum leo rhoncus a interdum nulla condimentum. In tincidunt pretium neque, et pretium nulla accumsan ut.

    - - - -

    Suspendisse mollis placerat nisl nec volutpat. Mauris in pellentesque dui. Nam fringilla nibh velit, eu vehicula mi. Donec quis felis dui. Vivamus imperdiet venenatis orci hendrerit vestibulum. Nunc mi metus, iaculis quis tincidunt in, viverra cursus erat. Maecenas eu est sit amet metus gravida lobortis malesuada vitae ligula. Donec ultrices feugiat nunc, nec tempus sapien mattis vel. Suspendisse lectus urna, feugiat eget lacinia quis, ultricies sed quam. Nam scelerisque facilisis consectetur. Morbi eget est quis nibh elementum commodo in et velit. Proin vitae leo neque.

    - - - -

    Integer mauris turpis, bibendum quis rutrum eu, euismod vitae quam. Vivamus congue fringilla leo sit amet porta. Nunc cursus sagittis sagittis. Etiam a arcu et erat vestibulum aliquam vel vulputate nibh. Ut mauris massa, fringilla eu hendrerit eu, cursus sit amet lorem. Sed scelerisque arcu at nulla varius molestie. Nullam et turpis odio, vitae consectetur odio. In ut mi augue. Nullam mollis viverra sapien, sit amet scelerisque dolor aliquam vitae. Donec quam nisl, euismod id ornare sit amet, euismod eu nibh. Integer pharetra lorem sit amet nisi dictum eleifend. Nam malesuada nisl eget diam congue tincidunt. In luctus, odio et hendrerit accumsan, sem est tempus sapien, vel suscipit massa ligula eu libero. Duis in ipsum sed nisl molestie tristique at vel nisl. Duis sagittis rutrum nisi, sed sodales nisl sodales sit amet. Vestibulum sit amet tortor orci, at commodo ante.

    - - - - - \ No newline at end of file diff --git a/examples/seneca/lazy loading (1186)/lorem.pde b/examples/seneca/lazy loading (1186)/lorem.pde deleted file mode 100755 index 689a1d48b..000000000 --- a/examples/seneca/lazy loading (1186)/lorem.pde +++ /dev/null @@ -1,24 +0,0 @@ -void setup() -{ - size((int)random(100,400),(int)random(100,400)); - text("",0,0); - takeTime(); - noLoop(); -} - -void takeTime() -{ - // this will take roughly 400ms to complete - float stop = millis() + 400; - while(millis() < stop) { - String s = "lalala"; - textWidth(s); } -} - -void draw() -{ - background(255,200,200); - fill(0); - String loadtext = "Sketch loaded as "+width+"/"+height; - text(loadtext, (width-textWidth(loadtext))/2, height/2); -} \ No newline at end of file diff --git a/examples/seneca/lerpColor/lerpColor.html b/examples/seneca/lerpColor/lerpColor.html deleted file mode 100644 index 3d45174ec..000000000 --- a/examples/seneca/lerpColor/lerpColor.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - -

    Andor Salga

    -

    lerpColor() test

    - - - -

    -
    - -
    -stroke(255);
    -background(51);
    -color from = color(204, 102, 0);
    -color to = color(0, 102, 153);
    -color interA = lerpColor(from, to, .33);
    -color interB = lerpColor(from, to, .66);
    -fill(from);
    -rect(10, 20, 20, 60);
    -fill(interA);
    -rect(30, 20, 20, 60);
    -fill(interB);
    -rect(50, 20, 20, 60);
    -fill(to);
    -rect(70, 20, 20, 60);
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/line/line-3d.html b/examples/seneca/line/line-3d.html deleted file mode 100644 index f3c3ef2fe..000000000 --- a/examples/seneca/line/line-3d.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/line/line-3d.pjs b/examples/seneca/line/line-3d.pjs deleted file mode 100644 index a0bfd39f9..000000000 --- a/examples/seneca/line/line-3d.pjs +++ /dev/null @@ -1,99 +0,0 @@ -PVector loc; -PVector g = new PVector(0, 0.5); -ArrayList balls; - -int d = 10; - -class Ball { - int index; - PVector loc = new PVector(); - PVector vel = new PVector(); - PVector acc = new PVector(); - float bounceAcc; - - Ball(int index, float x, float y, float z) { - this.index = index; - loc.x = x; - loc.y = y; - loc.z = z; - } - - void render() { - if ( this.vel.y >= (height - d/2 - this.loc.y) ) { - bounceAcc = this.vel.y; - this.vel.y = height - d/2 - this.loc.y; - } else { - this.addAcc(g); - } - - this.loc.add(this.vel); - - stroke(round((float)(Math.sin(frameCount/30f) + 1) * 128), round((float)(Math.cos(frameCount/40f) + 1) * 128) + index, round((float)(Math.cos(frameCount/30f) + 1) * 128) + index/2); - - if ( this.loc.y >= height - d/2 ) { - this.vel = new PVector(); - this.addAcc(new PVector(0, -bounceAcc)); - } - } - - void addAcc(PVector v) { - this.acc.add(v); - this.vel.add(this.acc); - this.acc = new PVector(); - } -} - -Ball ball; - -int ballTotal = 32; - -float thetaInc = TWO_PI / ballTotal; -float t = 0f; -float x = 0f; -float z = 0f; - -float radius; - -void setup() { - size(600, 400, OPENGL); - //frameRate(10); - - balls = new ArrayList(); - smooth(); - //sphereDetail(1); - - radius = width; -} - -int LINES = 10; - -void draw() { - background(round(((float) Math.cos(frameCount/40f)) * 128), round(((float) Math.sin(frameCount/30f)) * 64), 40); - - camera(0, 0, 400, // eyeX, eyeY, eyeZ - mouseX - width/2, mouseY - height/2, 0.0, // centerX, centerY, centerZ - 0.0, 1.0, 0.0); // upX, upY, upZ - - rotateX(frameCount/100f); - rotateZ(frameCount/100f); - - if ( frameCount % 1 == 0 && balls.size() < ballTotal * 3 ) { - x = radius * (float) Math.cos(t); - z = radius * (float) Math.sin(t); - t += thetaInc; - - radius -= 1; - - balls.add(new Ball(balls.size()+1, x, -200, z)); - } - - for ( int i = balls.size()-1; i >= 0; i-- ) { - Ball ball = (Ball) balls.get(i); - - if ( i > LINES ) { - Ball nextBall = (Ball) balls.get(i-LINES); - line(ball.loc.x, ball.loc.y, ball.loc.z, nextBall.loc.x, nextBall.loc.y, nextBall.loc.z); - } - ball.render(); - } -} diff --git a/examples/seneca/loadBytes/loadBytesTest0.html b/examples/seneca/loadBytes/loadBytesTest0.html deleted file mode 100644 index aed509e52..000000000 --- a/examples/seneca/loadBytes/loadBytesTest0.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - Processing.js test of loadBytes() (0) - - - - -
    Processing.js test of loadBytes() (0)
    -

    - - -

    Test written by Matthew Lam

    -
    
    -		
    -	
    -
    -
    diff --git a/examples/seneca/loadBytes/loadBytesTestFile b/examples/seneca/loadBytes/loadBytesTestFile
    deleted file mode 100644
    index b91de5539..000000000
    --- a/examples/seneca/loadBytes/loadBytesTestFile
    +++ /dev/null
    @@ -1 +0,0 @@
    -!Aa
    \ No newline at end of file
    diff --git a/examples/seneca/loadStrings/example.html b/examples/seneca/loadStrings/example.html
    deleted file mode 100644
    index 8dcbbba30..000000000
    --- a/examples/seneca/loadStrings/example.html
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -
    -
    diff --git a/examples/seneca/loadStrings/example.pjs b/examples/seneca/loadStrings/example.pjs
    deleted file mode 100644
    index 339abc3fc..000000000
    --- a/examples/seneca/loadStrings/example.pjs
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -String lines[] = loadStrings("strings.txt");
    -
    -println("there are " + lines.length + " lines");
    -for (int i=0; i < lines.length; i++) {
    -  println(": " + lines[i]);
    -}
    -
    diff --git a/examples/seneca/loadStrings/strings.txt b/examples/seneca/loadStrings/strings.txt
    deleted file mode 100644
    index 37ca4bc66..000000000
    --- a/examples/seneca/loadStrings/strings.txt
    +++ /dev/null
    @@ -1,2 +0,0 @@
    -item1
    -item2
    diff --git a/examples/seneca/loading (95)/a3.pde b/examples/seneca/loading (95)/a3.pde
    deleted file mode 100755
    index 2bb6ef1a9..000000000
    --- a/examples/seneca/loading (95)/a3.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "A3 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c1.pde b/examples/seneca/loading (95)/c1.pde
    deleted file mode 100755
    index 5669a330c..000000000
    --- a/examples/seneca/loading (95)/c1.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C1 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c10.pde b/examples/seneca/loading (95)/c10.pde
    deleted file mode 100755
    index e868aaaa3..000000000
    --- a/examples/seneca/loading (95)/c10.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C10 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c11.pde b/examples/seneca/loading (95)/c11.pde
    deleted file mode 100755
    index aadb6b71b..000000000
    --- a/examples/seneca/loading (95)/c11.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C11 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c3.pde b/examples/seneca/loading (95)/c3.pde
    deleted file mode 100755
    index 8f6364d33..000000000
    --- a/examples/seneca/loading (95)/c3.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C3 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c5.pde b/examples/seneca/loading (95)/c5.pde
    deleted file mode 100755
    index 2b550b2d9..000000000
    --- a/examples/seneca/loading (95)/c5.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C5 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c6.pde b/examples/seneca/loading (95)/c6.pde
    deleted file mode 100755
    index 821432051..000000000
    --- a/examples/seneca/loading (95)/c6.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C6 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c7.pde b/examples/seneca/loading (95)/c7.pde
    deleted file mode 100755
    index 20ce78ac4..000000000
    --- a/examples/seneca/loading (95)/c7.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C7 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c8.pde b/examples/seneca/loading (95)/c8.pde
    deleted file mode 100755
    index 2b74684a3..000000000
    --- a/examples/seneca/loading (95)/c8.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C8 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/c9.pde b/examples/seneca/loading (95)/c9.pde
    deleted file mode 100755
    index a5b298952..000000000
    --- a/examples/seneca/loading (95)/c9.pde	
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -String lstring = "C9 loaded successfully!";
    -
    -void setup()
    -{
    -  size(200,100);
    -  textFont(createFont("Arial",18));
    -  noLoop();
    -}
    -
    -void draw()
    -{
    -  fill(0);
    -  float tw = textWidth(lstring);
    -  text(lstring, (width-tw)/2, height/2);
    -}
    \ No newline at end of file
    diff --git a/examples/seneca/loading (95)/index.html b/examples/seneca/loading (95)/index.html
    deleted file mode 100755
    index 325c7e1d7..000000000
    --- a/examples/seneca/loading (95)/index.html	
    +++ /dev/null
    @@ -1,256 +0,0 @@
    -
    -
    -
    -	
    -	Script init() test
    -
    -   
    -
    -	
    -	
    -	
    -	
    -
    -	
    -
    -
    -
    -
    -	
    -	
    -	
    -	
    -
    -
    -  

    Sketch loading test; both inline and from source

    - - -

    canvas 1 - script-src from head for text/processing

    -
    <head>
    -  ...
    -  <script type="text/processing" src="c1.pde" data-processing-target="c1"></script>
    -  ...
    -</head>
    - - -

    canvas 2 - script block from head for text/processing

    -
    <head>
    -  ...
    -  <script type="text/processing" data-processing-target="c2"> /*code*/ </script>
    -  ...
    -</head>
    - - -

    canvas 3 - script-src from head for application/processing

    -
    <head>
    -  ...
    -  <script type="application/processing" src="c3.pde" data-processing-target="c3"></script>
    -  ...
    -</head>
    - - - -

    canvas 4 - script block from head for application/processing

    -
    <head>
    -  ...
    -  <script type="application/processing" data-processing-target="c4"> /*code*/ </script>
    -  ...
    -</head>
    - - - -

    canvas (anonymous 1) - inline sketch without a target for text/processing

    -
      <script type="text/processing">
    -    String lstring = "A1 loaded successfully!";
    -    void setup() {
    -      size(200,100);
    -      textFont(createFont("Arial",18));
    -      noLoop();
    -    }
    -    void draw() {
    -      fill(0);
    -      float tw = textWidth(lstring);
    -      text(lstring, (width-tw)/2, height/2);
    -    }
    -  </script>
    -  <canvas></canvas>
    - - -

    NOTE: because there is no explicit element ordering, this is (strictly speaking) magic behaviour

    - - -

    canvas (anonymous 2) - inline sketch without a target for application/processing

    -
      <script type="application/processing">
    -    String lstring = "A2 loaded successfully!";
    -    void setup() {
    -      size(200,100);
    -      textFont(createFont("Arial",18));
    -      noLoop();
    -    }
    -    void draw() {
    -      fill(0);
    -      float tw = textWidth(lstring);
    -      text(lstring, (width-tw)/2, height/2);
    -    }
    -  </script>
    -  <canvas></canvas>
    - - -

    NOTE: because there is no explicit element ordering, this is (strictly speaking) magic behaviour

    - - -

    canvas 5 - inline sketch with target for text/processing

    -
    <body>
    -  <script type="text/processing" data-processing-target="c5">
    -    String lstring = "C5 loaded successfully!";
    -    void setup() {
    -      size(200,100);
    -      textFont(createFont("Arial",18));
    -      noLoop();
    -    }
    -    void draw() {
    -      fill(0);
    -      float tw = textWidth(lstring);
    -      text(lstring, (width-tw)/2, height/2);
    -    }
    -  </script>
    -  ...
    -  <canvas id="c5"></canvas>
    -  ...
    -</body>
    - - - -

    canvas 6 - inline sketch with target for application/processing

    -
    <body>
    -  <script type="application/processing" data-processing-target="c6">
    -    String lstring = "C6 loaded successfully!";
    -    void setup() {
    -      size(200,100);
    -      textFont(createFont("Arial",18));
    -      noLoop();
    -    }
    -    void draw() {
    -      fill(0);
    -      float tw = textWidth(lstring);
    -      text(lstring, (width-tw)/2, height/2);
    -    }
    -  </script>
    -  ...
    -  <canvas id="c6"></canvas>
    -  ...
    -</body>
    - - -

    canvas 7 - script-src from body for text/processing, using target

    -
    <body>
    -  <script type="text/processing" src="c7.pde" data-processing-target="c7"></script>
    -  ...
    -  <canvas id="c7"></canvas>
    -  ...
    -</body>
    - - -

    canvas 8 - script-src from body for application/processing, using target

    -
    <body>
    -  <script type="application/processing" src="c8.pde" data-processing-target="c8"></script>
    -  ...
    -  <canvas id="c8"></canvas>
    -  ...
    -</body>
    - - -

    canvas 9 - script-src from body for text/processing, no target

    -
      <script type="text/processing" src="c9.pde"></script>
    -  <canvas id="c9"></canvas>
    - - -

    NOTE: because there is no explicit element ordering, this is (strictly speaking) magic behaviour

    - - -

    canvas 10 - script-src from body for application/processing, no target

    -
      <script type="application/processing" src="c10.pde"></script>
    -  <canvas id="c10"></canvas>
    - - -

    NOTE: because there is no explicit element ordering, this is (strictly speaking) magic behaviour

    - - -

    canvas (anonymous 3) - normal loading using a canvas, without id, that indicates its own source files

    -
      <canvas data-processing-sources="a3.pde"></canvas>
    - - - -

    canvas 11 - normal loading using a canvas, with id, that indicates its own source files

    -
      <canvas id="c11" data-processing-sources="c11.pde"></canvas>
    - - - \ No newline at end of file diff --git a/examples/seneca/log/customLogger.html b/examples/seneca/log/customLogger.html deleted file mode 100644 index f2a0df06a..000000000 --- a/examples/seneca/log/customLogger.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - Processing.js test of println() - - - - - - -

    println() using custom output tests

    -

    - - - -

    -
    -
    -	
    -
    -	
    - -
    - - - diff --git a/examples/seneca/log/index.html b/examples/seneca/log/index.html deleted file mode 100644 index b5e147ccd..000000000 --- a/examples/seneca/log/index.html +++ /dev/null @@ -1,18 +0,0 @@ - - - moo - - - - -

    Rem nihil lucem visum volui earum rum. Nomen magis mo to earum ac quare si. Ab ea praeterea cupientem desuescam tractarem. Hac iis alienis sit possunt materia praemia pla. Aliquamdiu ob ostenditur viderentur ut ei du quascunque. Malignum ac tollitur si earumdem credenda in absoluta opinione. Lor rum suo invenit reducit maximum putabam remanet angelum ima. Non existeret essentiam pro sex videretur fit. Quae ii haud at dare ab actu bono si.

    - -

    Qui opinione iis figmenta nec gurgitem facultas cui obturabo. Dominum ad accepit ut timenda ac et methodo sentire naturae. Ea quaedam veteres at ineptum assidue ad videmus et tempore. Vel suo laborio ego quidnam haustam. Tantumdem attigeram conjectus suspicari extitisse sex consistit ope dem. Summa est meque omnis solis manum sum vocem.

    - -

    Judicem jam requiri incumbo vos. Secius qualis imo totius pendeo vix deinde. Eo de hinc in utor in hinc nunc ausi. Hos quo patet cur illae ope illum tanti. Ac scribere obtinent co ea creandam ex. Et obstinate ut et obdormiam tractatur.

    - -

    Tur nul eas tes regi vice post opus rari. Labefactat aliquoties geometriam eas referuntur est tam meo. Tur vox una postquam temporis monendos incipere statuere. Organa sponte posita ha in existo juvare ob ab haereo. Totus rebus veram debeo et deest re manus si. Gaudet im restat falsum ex in fronte ad. Ego naturae hic non vix peccato quatuor ipsemet cogitem nihilum.

    - - - - \ No newline at end of file diff --git a/examples/seneca/log/miltipleCanvasPrint.html b/examples/seneca/log/miltipleCanvasPrint.html deleted file mode 100644 index 7448604c9..000000000 --- a/examples/seneca/log/miltipleCanvasPrint.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - Processing.js test of println() - - - - -

    println() from multiple canvases tests

    -

    CANVAS #1

    -

    - - - -
    -

    -	
    - -
    -

    CANVAS #2

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/log/simplePrint.html b/examples/seneca/log/simplePrint.html deleted file mode 100644 index 535dfcf91..000000000 --- a/examples/seneca/log/simplePrint.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - Processing.js test of println() - - - - -

    println() tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/log/test.pde b/examples/seneca/log/test.pde deleted file mode 100644 index 88ea50793..000000000 --- a/examples/seneca/log/test.pde +++ /dev/null @@ -1,14 +0,0 @@ -void setup() -{ - size(400,400); - println("random print"); -} - -void draw() -{ - background(155, 155, 0); - stroke(255,0,0); - line(0,0,width,height); - stroke(0,0,255); - line(width,0,0,height); -} diff --git a/examples/seneca/long/long.htm b/examples/seneca/long/long.htm deleted file mode 100644 index 68de07382..000000000 --- a/examples/seneca/long/long.htm +++ /dev/null @@ -1,90 +0,0 @@ - - - - Processing.js test of long data type - - - - - -

    - - long type test

    -

    - This is a test of long data type

    -

    - Datatype for large integers. While integers can be as large as 2,147,483,647 and as low as -2,147,483,648 (stored as 32 bits), a long integer has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (stored as 64 bits). Use this datatype when you need a number to have a greater magnitude than can be stored within an int. Processing functions don't use this datatype, so while they work in the language, you'll usually have to convert to a int using the (int) syntax before passing into a function.

    - - - Test written by Daniel Hodgin
    -

    - Source Code:

    -
    -// long data type example
    -long a;          // Declare variable "a" of type int
    -a = 9876543210;          // Assign "a" the value 9876543210
    -long b = a * 2;   // Declare variable "b" and assign it the value 19753086420
    -long c = a + b;  // Declare variable "c" and assign it the sum of "a" and "b"
    -println(a);
    -println(b);
    -println(c);
    -c = (c - 30) / 100;
    -int i = (int)c;  // Converts the value of "c" from a long to a int
    -println(i);
    -        
    -
    - - diff --git a/examples/seneca/long/long.pjs b/examples/seneca/long/long.pjs deleted file mode 100644 index 61b3db88f..000000000 --- a/examples/seneca/long/long.pjs +++ /dev/null @@ -1,11 +0,0 @@ -// long data type example -long a; // Declare variable "a" of type int -a = 9876543210; // Assign "a" the value 9876543210 -long b = a * 2; // Declare variable "b" and assign it the value 19753086420 -long c = a + b; // Declare variable "c" and assign it the sum of "a" and "b" -println(a); -println(b); -println(c); -c = (c - 30) / 100; -int i = (int)c; // Converts the value of "c" from a long to a int -println(i); \ No newline at end of file diff --git a/examples/seneca/max/maxTest1.html b/examples/seneca/max/maxTest1.html deleted file mode 100644 index 7c66efa3e..000000000 --- a/examples/seneca/max/maxTest1.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - Processing.js test of max() (0) - - - - - -

    - - max() test (0)

    -

    - This is a friendlier version of the example on the Processing web site.

    -
    -

    - - - - -
    - Test written by Matthew Lam -

    -size(300,250);
    -background(50);
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -fill(255,255,255);
    -text("max(5, 9)",xcoord,ycoord+=yinc);
    -int a = max(5, 9);            // Sets "a" to 9
    -int a_exp=9;
    -if (a_exp==a) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+a,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max(-4, -12)",xcoord,ycoord+=yinc);
    -int b = max(-4, -12);         // Sets "b" to -4
    -int b_exp=-4;
    -if (b_exp==b) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+b,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max(12.3, 230.24)",xcoord,ycoord+=yinc);
    -float c = max(12.3, 230.24);  // Sets "c" to 230.24
    -float c_exp=230.24;
    -if (c_exp==c) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+c,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max({ 9, -4, 230.24 })",xcoord,ycoord+=yinc);
    -float[] list = { 9, -4, 230.24 };
    -float h = max(list);            // Sets "h" to 230.24
    -float h_exp=230.24;
    -if (h_exp==h) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+h,xcoord+xoff,ycoord+=yinc);
    -
    -String errMsg="";
    -if (errors) {
    -	fill(255,0,0);
    -	errMsg="Some tests FAILED. See RED results.";
    -} else {
    -	fill(0,255,0);
    -	errMsg="All tests passed.";
    -}
    -text(errMsg,5,20);
    -	
    -
    - - - - diff --git a/examples/seneca/max/maxTest2.html b/examples/seneca/max/maxTest2.html deleted file mode 100644 index f5258efb8..000000000 --- a/examples/seneca/max/maxTest2.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - Processing.js test of max() (1) - - - - - -

    - - max() test (1)

    -

    - More than 2 arguments, argument type checking.

    -
    -

    - - - - -
    - Test written by Matthew Lam -

    -size(300,250);
    -background(50);
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -fill(255,255,255);
    -text("max(-54, 23, -100)",xcoord,ycoord+=yinc);
    -int g = max(-54, 23, -100);
    -int g_exp=23;
    -if (g_exp==g) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+g,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max(-54, 23, 234, -100)",xcoord,ycoord+=yinc);
    -int a = max(-54, 23, 234, -100);
    -int a_exp=234;
    -if (a_exp==a) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+a,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max(10, 20, true)",xcoord,ycoord+=yinc);
    -int b = max(10, 20, true);
    -var b_exp=undefined;
    -if (b_exp==b) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+b,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("max({ 9, -4, 230 }, 10)",xcoord,ycoord+=yinc);
    -float[] list = { 9, -4, 230 };
    -int c = max(list, 10 );
    -var c_exp=undefined;
    -if (c_exp==c) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+c,xcoord+xoff,ycoord+=yinc);
    -
    -String errMsg="";
    -if (errors) {
    -	fill(255,0,0);
    -	errMsg="Some tests FAILED. See RED results.";
    -} else {
    -	fill(0,255,0);
    -	errMsg="All tests passed.";
    -}
    -text(errMsg,5,20);
    -	
    -
    - - - - diff --git a/examples/seneca/min/minTest1.html b/examples/seneca/min/minTest1.html deleted file mode 100644 index 69586e8be..000000000 --- a/examples/seneca/min/minTest1.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - Processing.js test of min() (0) - - - - - -

    - - min() test (0)

    -

    - This is a friendlier version of the example on the Processing web site.

    -
    -

    - - - - -
    - Test written by Matthew Lam -

    -size(300,250);
    -background(50);
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -fill(255,255,255);
    -text("min(5, 9)",xcoord,ycoord+=yinc);
    -int d = min(5, 9);            // Sets "d" to 5
    -int d_exp=5;
    -if (d_exp==d) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+d,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min(-4, -12)",xcoord,ycoord+=yinc);
    -int e = min(-4, -12);         // Sets "e" to -12
    -int e_exp=-12;
    -if (e_exp==e) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+e,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min(12.3, 230.24)",xcoord,ycoord+=yinc);
    -float f = min(12.3, 230.24);  // Sets "f" to 12.3
    -float f_exp=12.3;
    -if (f_exp==f) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+f,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min({ 5, 1, 2, -3 })",xcoord,ycoord+=yinc);
    -int[] list = { 5, 1, 2, -3 };
    -int h = min(list);            // Sets "h" to -3
    -int h_exp=-3;
    -if (h_exp==h) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+h,xcoord+xoff,ycoord+=yinc);
    -
    -String errMsg="";
    -if (errors) {
    -	fill(255,0,0);
    -	errMsg="Some tests FAILED. See RED results.";
    -} else {
    -	fill(0,255,0);
    -	errMsg="All tests passed.";
    -}
    -text(errMsg,5,20);
    -	
    -
    - - - - diff --git a/examples/seneca/min/minTest2.html b/examples/seneca/min/minTest2.html deleted file mode 100644 index d1a12cbf6..000000000 --- a/examples/seneca/min/minTest2.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - Processing.js test of min() (1) - - - - - -

    - - min() test (1)

    -

    - More than 2 arguments, argument type checking.

    -
    -

    - - - - -
    - Test written by Matthew Lam -

    -size(300,250);
    -background(50);
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -fill(255,255,255);
    -text("min(-54, 23, -100)",xcoord,ycoord+=yinc);
    -int g = min(-54, 23, -100);
    -int g_exp=-100;
    -if (g_exp==g) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+g,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min(-54, 23, 234, -100)",xcoord,ycoord+=yinc);
    -int a = min(-54, 23, 234, -100);
    -int a_exp=-100;
    -if (a_exp==a) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+a,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min(10, 20, true)",xcoord,ycoord+=yinc);
    -int b = min(10, 20, true);
    -var b_exp=undefined;
    -if (b_exp==b) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+b,xcoord+xoff,ycoord+=yinc);
    -
    -ycoord+=yinc;
    -
    -fill(255,255,255);
    -text("min({ 9, -4, 230 }, 10)",xcoord,ycoord+=yinc);
    -float[] list = { 9, -4, 230 };
    -int c = min(list, 10 );
    -var c_exp=undefined;
    -if (c_exp==c) {
    -	fill(0,255,0);
    -} else {
    -	fill(255,0,0);
    -	errors=true;
    -}
    -text(""+c,xcoord+xoff,ycoord+=yinc);
    -
    -String errMsg="";
    -if (errors) {
    -	fill(255,0,0);
    -	errMsg="Some tests FAILED. See RED results.";
    -} else {
    -	fill(0,255,0);
    -	errMsg="All tests passed.";
    -}
    -text(errMsg,5,20);
    -	
    -
    - - - - diff --git a/examples/seneca/mousePressed/mousePressed.html b/examples/seneca/mousePressed/mousePressed.html deleted file mode 100644 index 3abdad7b9..000000000 --- a/examples/seneca/mousePressed/mousePressed.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - -

    mousePressed() and mousePressed test

    - -

    - -

    - -
    -int value = 0;
    -
    -void setup(){
    -  size(200, 200);
    -}
    -
    -void draw() {
    -  fill(value);
    -  rect(125, 125, 50, 50);
    -  
    -  if (mousePressed == true) {
    -    fill(0);
    -  } else {
    -    fill(255);
    -  }
    -  rect(25, 25, 50, 50);
    -}
    -
    -void mousePressed() {
    -  if(value == 0) {
    -    value = 255;
    -  } else {
    -    value = 0;
    -  }
    -}
    -    
    - - diff --git a/examples/seneca/mousePressed/mousePressed.pjs b/examples/seneca/mousePressed/mousePressed.pjs deleted file mode 100644 index 4d6f4da68..000000000 --- a/examples/seneca/mousePressed/mousePressed.pjs +++ /dev/null @@ -1,25 +0,0 @@ -int value = 0; - -void setup(){ - size(200, 200); -} - -void draw() { - fill(value); - rect(125, 125, 50, 50); - - if (mousePressed == true) { - fill(0); - } else { - fill(255); - } - rect(25, 25, 50, 50); -} - -void mousePressed() { - if(value == 0) { - value = 255; - } else { - value = 0; - } -} diff --git a/examples/seneca/mouseScroll/index.html b/examples/seneca/mouseScroll/index.html deleted file mode 100644 index 68c5e694a..000000000 --- a/examples/seneca/mouseScroll/index.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/mouseScroll/mousescroll.pjs b/examples/seneca/mouseScroll/mousescroll.pjs deleted file mode 100644 index 37b34a986..000000000 --- a/examples/seneca/mouseScroll/mousescroll.pjs +++ /dev/null @@ -1,73 +0,0 @@ -// Processing.js Example - -int x = height * 25 / 100; -int y = width * 50 / 100; - -forground = false; - -void setup() { - frameRate(20); -} - -void mouseScrolled() { - int delta = mouseScroll; - - if (delta > 0) { - if (forground) - { - if (x > (height * 25 / 100)) - { - x -= 15; - } - else { - forground = !forground; - } - } - else { - if (x < (height * 75 / 100)) - { - x += 15; - } - else { - forground = !forground; - } - } - - } - else if (delta < 0) { - if (forground) { - if (x < (height * 75 / 100)) - { - x += 15; - } - else { - forground = !forground; - } - } - else { - if (x > (height * 25 / 100)) - { - x -= 15; - } - else { - forground = !forground; - } - } - } -} - -void draw() { - - background(100); - if (forground) { - ellipse(y, x, 55, 55); - ellipse(y, y, 70, 70); - } - else { - ellipse(y, y, 70, 70); - ellipse(y, x, 55, 55); - } - text("move the mousewheel to change axis: " + x, 15, 15); - -} - diff --git a/examples/seneca/nf/nfTest1.html b/examples/seneca/nf/nfTest1.html deleted file mode 100644 index b3ab77d3d..000000000 --- a/examples/seneca/nf/nfTest1.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - Processing.js test of nf() (0) - - - - -

    nf() test (0)

    -

    Tests 1 to 6

    -

    Basic Processing examples.

    -

    Tests 7 to 9

    -

    Negative numbers to be formatted. Processing documentation states the number to be formatted should be greater than zero. -

    Test 10

    -

    Poor man's float truncation.

    -

    Tests 11 and 12

    -

    left or right being zero. Processing documentation states these arguments should be greater than zero.

    -

    -

    Tests 13 and 18

    -

    Negative values for left or right. If left is less than zero, it does not change anything left of the decimal. If right is less than zero, it transforms the float into an int.

    -

    -

    Tests 19 and 32

    -

    Note how the way numbers are 'floored' changes if the one's digit is odd or even.

    -

    - - - -
    - Test written by Matthew Lam -

     
    -
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -
    -void setup() {
    -  
    -    PFont font;
    -    font = loadFont("Eureka-90.vlw"); 
    -    textFont(font, 12);
    -    size(900,400);
    -    background(50);
    -    noLoop();
    -} 
    -
    -void draw() {
    -	output(1,"nf(200, 10)",nf(200, 10),"0000000200");
    -	output(2,"nf(40, 5)",nf(40, 5),"00040");
    -	output(3,"nf(90, 3)",nf(90, 3),"090");
    - 
    -	output(4,"nf(200.94, 10, 4)",nf(200.94, 10, 4),"0000000200.9400");
    -	output(5,"nf(40.2, 5, 3)",nf(40.2, 5, 3),"00040.200");
    -	output(6,"nf(9.012, 3, 5)",nf(9.012, 3, 5),"009.01200");
    - 
    -	xcoord=200;
    -	ycoord=35;
    - 
    -	output(7,"nf(-200, 10)",nf(-200, 10),"-0000000200");
    -	output(8,"nf(-200.94, 10, 4)",nf(-200.94, 10, 4),"-0000000200.9400");
    - 
    -	output(9,"nf(-200, 2)",nf(-200, 2),"-200");
    -	output(10,"nf(-200.95, 2, 1)",nf(-200.95, 2, 1),"-200.9");
    - 
    -        output(11,"nf(-200, 0)",nf(-200, 2),"-200");
    -	output(12,"nf(-200.94, 2, 0)",nf(-200.94, 2, 0),"-200.94");
    - 
    -        xcoord=400;
    -	ycoord=35;
    -        
    -        output(13,"nf(-10, -1)",nf(-10, -1),"-10");
    -        output(14,"nf(-10, -3)",nf(-10, -3),"-10");
    -        
    -        output(15,"nf(-10.05, -1, -1)",nf(-10.05, -1, -1),"-10");
    -        output(16,"nf(-10.05, -1, -3)",nf(-10.05, -1, -3),"-10");
    -        
    -        output(17,"nf(-10.05, 3, -1)",nf(-10.05, 3, -1),"-010");
    -        output(18,"nf(-10.05, 3, -3)",nf(-10.05, 3, -3),"-010");
    -        
    -        xcoord=600;
    -	ycoord=35;
    -        
    -        output(19,"nf(-10.49, -1, -1)",nf(-10.49, -1, -1),"-10");
    -        output(20,"nf(-10.5, -1, -1)",nf(-10.5, -1, -1),"-10");
    -        
    -        output(21,"nf(-11.49, -1, -1)",nf(-11.49, -1, -1),"-11");
    -        output(22,"nf(-11.5, -1, -1)",nf(-11.5, -1, -1),"-12");
    -        
    -        output(23,"nf(-12.49, -1, -1)",nf(-12.49, -1, -1),"-12");
    -        output(24,"nf(-12.5, -1, -1)",nf(-12.5, -1, -1),"-12");
    -        
    -        output(25,"nf(-13.49, -1, -1)",nf(-13.49, -1, -1),"-13");
    -        output(26,"nf(-13.5, -1, -1)",nf(-13.5, -1, -1),"-14");
    -        
    -        xcoord=800;
    -	ycoord=35;
    -        
    -        output(27,"nf(-14.49, -1, -1)",nf(-14.49, -1, -1),"-14");
    -        output(28,"nf(-14.5, -1, -1)",nf(-14.5, -1, -1),"-14");
    -        
    -        output(28,"nf(-15.49, -1, -1)",nf(-15.49, -1, -1),"-15");
    -        output(29,"nf(-15.5, -1, -1)",nf(-15.5, -1, -1),"-16");
    -        
    -        output(30,"nf(-16.49, -1, -1)",nf(-16.49, -1, -1),"-16");
    -        output(31,"nf(-16.5, -1, -1)",nf(-16.5, -1, -1),"-16");
    -        
    -        output(31,"nf(-17.49, -1, -1)",nf(-17.49, -1, -1),"-17");
    -        output(32,"nf(-17.5, -1, -1)",nf(-17.5, -1, -1),"-18");
    - 
    -	String errMsg="";
    -	if (errors) {
    -		fill(255,0,0);
    -		errMsg="RED tests FAILED.";
    -	} else {
    -		fill(0,255,0);
    -		errMsg="All tests passed.";
    -	}
    -	text(errMsg,5,20);
    -}
    - 
    -void output(int ind,String txt,String results,String expected) {
    -	fill(255,255,255);
    -	text("["+ind+"] "+txt,xcoord,ycoord+=yinc);
    -	if (results.equals(expected)) {
    -		fill(0,255,0);
    -	} else {
    -		fill(255,0,0);
    -		errors=true;
    -	}
    -	text(results,xcoord+xoff,ycoord+=yinc);
    -	ycoord+=yinc;
    -}
    -	
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/nf/nfTest2.html b/examples/seneca/nf/nfTest2.html deleted file mode 100644 index a01344b5b..000000000 --- a/examples/seneca/nf/nfTest2.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - Processing.js test of nf() (1) - - - - - -

    nf() test (1)

    -

    Test 1

    -

    See tests 6 to 8 for the values you'd think would be returned. Processing has the same behaviour.

    -

    Tests 6 to 8

    -

    The values you'd think test 1 would return, but doesn't.

    -

    - - - - -
    - Test written by Matthew Lam -

    -
    -
    -boolean errors=false;
    -
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    -
    -
    -void setup() {
    -  
    -    PFont font;
    -		//make sure this font in data dir
    -    font = loadFont("Eureka-90.vlw"); 
    -    textFont(font, 12);
    -    size(500,400);
    -    background(50);
    -    noLoop();
    -} 
    -
    -
    -void draw() {
    -        String[] res1=new String[3];
    -        res1[0]="-01";
    -        res1[1]="20";
    -        res1[2]="300";
    -        int[] inp1=new int[3];
    -        inp1[0]=-1;
    -        inp1[1]=20;
    -        inp1[2]=300;
    -        outputArr(1,"nf({-1,20,300}, 3)",nf(inp1, 2),res1);
    - 
    -        String[] res2=new String[3];
    -        res2[0]="-001.00";
    -        res2[1]="020.02";
    -        res2[2]="300.01";
    -        float[] inp2=new float[3];
    -        inp2[0]=-1.002;
    -        inp2[1]=20.02;
    -        inp2[2]=300.0123;
    -        outputArr(2,"nf({-1.002,20.02,300.0123}, 3, 2)",nf(inp2, 3, 2),res2);
    -        
    -        String[] res3=new String[3];
    -        res3[0]="-1";
    -        res3[1]="20";
    -        res3[2]="300";
    -        int[] inp3=new int[3];
    -        inp3[0]=-1;
    -        inp3[1]=20;
    -        inp3[2]=300;
    -        outputArr(3,"nf({-1,20,300}, -1)",nf(inp3, -1),res3);
    -        
    -        String[] res4=new String[3];
    -        res4[0]="-001";
    -        res4[1]="000";
    -        res4[2]="000";
    -        float[] inp4=new float[3];
    -        inp4[0]=-1.002;
    -        inp4[1]=0.49;
    -        inp4[2]=0.5;
    -        outputArr(4,"nf({-1.002,0.49,0.5}, 3, -1)",nf(inp4, 3, -1),res4);
    -        
    -        String[] res5=new String[3];
    -        res5[0]="-001";
    -        res5[1]="001";
    -        res5[2]="002";
    -        float[] inp5=new float[3];
    -        inp5[0]=-1.002;
    -        inp5[1]=1.49;
    -        inp5[2]=1.5;
    -        outputArr(5,"nf({-1.002,1.49,1.5}, 3, -1)",nf(inp5, 3, -1),res5);
    - 
    -	xcoord=300;
    -	ycoord=35;
    - 
    -        output(6,"nf(-1, 3)",nf(-1, 3),"-001");
    -        output(7,"nf(20, 3)",nf(20, 3),"020");
    -        output(8,"nf(300, 3)",nf(300, 3),"300");
    - 
    -	String errMsg="";
    -	if (errors) {
    -		fill(255,0,0);
    -		errMsg="RED tests FAILED.";
    -	} else {
    -		fill(0,255,0);
    -		errMsg="All tests passed.";
    -	}
    -	text(errMsg,5,20);
    -}
    - 
    -void output(int ind,String txt,String results,String expected) {
    -	fill(255,255,255);
    -	text("["+ind+"] "+txt,xcoord,ycoord+=yinc);
    -	if (results.equals(expected)) {
    -		fill(0,255,0);
    -	} else {
    -		fill(255,0,0);
    -		errors=true;
    -	}
    -	text(results,xcoord+xoff,ycoord+=yinc);
    -	ycoord+=yinc;
    -}
    - 
    -void outputArr(int ind,String txt,String[] results,String[] expected) {
    -	fill(255,255,255);
    -	text("["+ind+"] "+txt,xcoord,ycoord+=yinc);
    - 
    -        String resOut="";
    -        fill(0,255,0);
    -        for (int i=0;i=expected.length || !results[i].equals(expected[i])) {
    -               fill(255,0,0);
    -               errors=true;
    -           }
    -           resOut=resOut+results[i]+", ";
    -        }
    - 
    -	text(resOut,xcoord+xoff,ycoord+=yinc);
    -	ycoord+=yinc;
    -}
    -
    -	
    - -
    - - - diff --git a/examples/seneca/param/param.html b/examples/seneca/param/param.html deleted file mode 100644 index 55e2ac435..000000000 --- a/examples/seneca/param/param.html +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/examples/seneca/param/sketch.pde b/examples/seneca/param/sketch.pde deleted file mode 100644 index ad72c7dde..000000000 --- a/examples/seneca/param/sketch.pde +++ /dev/null @@ -1,2 +0,0 @@ -String s = param("testParam"); -println("testParam = " + s); diff --git a/examples/seneca/parseBoolean/parseBoolean.html b/examples/seneca/parseBoolean/parseBoolean.html deleted file mode 100644 index f85c40e09..000000000 --- a/examples/seneca/parseBoolean/parseBoolean.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - Processing.js test of parseBoolean() - - - - -

    - Converts the passed parameter to the function to its boolean value. It will return an array of booleans if an array is passed in.

    - -

    - Test:

    -
    -void setup() {
    -  size(10, 10);
    -}
    -
    -void draw() {
    -  int intVar = 0;
    -  boolean intBool = parseBoolean(intVar);
    -  println("int:0 = " + intBool);
    -  
    -  int[] intArray = {0, 1, 5};
    -  boolean[] intBoolArray = parseBoolean(intArray);
    -  println("int Array: {0, 1, 5} = " + intBoolArray);
    -  
    -  string strVar = "true";
    -  boolean strBool = parseBoolean(strVar);
    -  println("string: \"true\" = " + strBool);
    -  
    -  string[] strArray = {"false", "TRUE", "True"};
    -  boolean[] strBoolArray = parseBoolean(strArray);
    -  println("string Array: {\"false\", \"TRUE\", \"True\"} = " + strBoolArray);
    -  
    -  byte byteVar = 0;
    -  boolean byteBool = parseBoolean(byteVar);
    -  println("byte: 0 = " + byteBool);
    -  
    -  byte[] byteArray = {0, 1};
    -  boolean[] byteBoolArray = parseBoolean(byteArray);
    -  println("byte Array: {0, 1} = " + byteBoolArray);
    -  
    -  noLoop();
    -}
    -    
    -
    - - diff --git a/examples/seneca/parseBoolean/parseBoolean.pjs b/examples/seneca/parseBoolean/parseBoolean.pjs deleted file mode 100644 index 34d7e9312..000000000 --- a/examples/seneca/parseBoolean/parseBoolean.pjs +++ /dev/null @@ -1,33 +0,0 @@ -// Processing.js Example - -void setup() { - size(10, 10); -} - -void draw() { - int intVar = 0; - boolean intBool = parseBoolean(intVar); - println("int:0 = " + intBool); - - int[] intArray = {0, 1, 5}; - boolean[] intBoolArray = parseBoolean(intArray); - println("int Array: {0, 1, 5} = " + intBoolArray); - - string strVar = "true"; - boolean strBool = parseBoolean(strVar); - println("string: \"true\" = " + strBool); - - string[] strArray = {"false", "TRUE", "True"}; - boolean[] strBoolArray = parseBoolean(strArray); - println("string Array: {\"false\", \"TRUE\", \"True\"} = " + strBoolArray); - - byte byteVar = 0; - boolean byteBool = parseBoolean(byteVar); - println("byte: 0 = " + byteBool); - - byte[] byteArray = {0, 1}; - boolean[] byteBoolArray = parseBoolean(byteArray); - println("byte Array: {0, 1} = " + byteBoolArray); - - noLoop(); -} diff --git a/examples/seneca/pimage/ETapple.jpg b/examples/seneca/pimage/ETapple.jpg deleted file mode 100644 index 285be012ff5485c652033045e3a2d8c41d60a20c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 347588 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≪Zl_ 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%0A)@u69Pd;WD>ORtk5l4<1^s}nj!z`6j5y!0uE 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%0AT9XnrB=U;dP5lz&czlx^P2R_n>yX_ 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 CQocl(7B>Pj7_;_jVj9ZG(hY(_*liK z6-u0K_-pt>TIC;A$klM-qA21lAoS|(htISNeCb3zt(ZK>ZKEQI;VVV3S5>_heC%~v zvp{S94^jPqtiwZ7`M3YDfRTchjax}u%&X%EKLs=2os10#DKGqa6of<9lU@!zdw*(T zWEk-R{^BS04~e&)l$7>viVNKGbbXWNq)+vbfHOyo%(Cp`sZ4IhxJ?P8f{3N%XWPx( z>0~l0;Yo*QYw>R$IX>8i8ief4MlB~kYmRA$O}l;j_Dhto$+T*4gDtByzT)TLE65h# zAf!D_-=k#=in0rAkT+uO^AFk7pmvi1&Qd>r_EVfV4s;mPv`Xjg4R2v2KKA&dulGkA zQ=3T?1!GAoWNuBhy>htKu5=53loa@=8iRH_AyXy3ayRnKRg9tB2Tw!xU|+belOu34 zWF`LeCNWo|^T0n8skIg}{Ox88r6YOXaj^=0?tf4ATFsV)DPp|cX^ zT(iP>7y7UKMb#IOqe8pWBi_cd>&>j4p7^);V89v|1<}bExA*6~ zcKp6FX?mZ&q~tad=i^8|dhDPvSSlNibC|UyyU0$*(7hkMR?WlX&7F5+3I1!wnY`9h zMofA|Xo+=p@*`RYV%wXRz{hbMoCfMXK<82BR%Rg=7= zCUAelC0%5Tp_3`+>=s<&$anN}p%J<3G{PV(KxR9fMiy`QFt)He%v*aXa_BS2bn?e} zcZ--N8~k#I^z207>gyqvM-@r~JQ)gE%(q}K0s3XslWz{9vm(>4!p~A;hNH0CQQ`1O&YKmMv zoAq-stF`J`SJpHeieMw3v4+psdfcoGt3i-s4@jq$1~*@jGV?Zs>X#NY;x6{i2{Y){f8xk2}hNn1MXdBP^(q{ut<6kutJQEuh(~FG83_dLesD4 z8p4V%F(^Hb3yH(Iu`b{*f8+~MzfhQw?7RZW-jfXNx?kegQ_WgQQ7vbbgZrJu z=#CaE*nK+M^O)sO#hh~o@U((nxniweB;1T2B<*^eXuKJ1c+)z~!7RH>Sb;Y{H~w>t zQqB=-h>zX6MnZd~AYN(+^`pW$>L!Uu|T%9ohD}fSRx0?%fGk zFx-u_-$FNr8h|%?;Id7@0nU}JAR}#Bo%z=3{k@S(#?(<6tc3gprWx&7M>p&`8X;>s z`giGmF?SWcnJhKjgwZ3X@m^A2hwf9XMLMmD=pnAfAeTfIQ$Xkew9Bw!0AU@~#uYN< z@V7W(+oMH{-IMcRbil)RP>cLf49*7ok_KF3?Ho9kC{gGRR~9ZU%enUp$)3RE8is#Z zikTme#L8hycQmi=@LWef<=OM10zjsB5?zZXs~2guP1`P~32f2MprW!Vz*i!Xw$!;r za&>-l^ZMBf1Ol0tZUVYDQUWeS&V-T@{$}-)RMMH(8mk!b3#V5D9>6o~h+N)&w^adt ze)WECPp%ty^<$ffNlaP&>9vLTBnvSK=ZU3)mSQxy$yfoRA|1eC4LHD%Bcve^6<=mJ zeD6JUJ`cO>{LT=XXd!!(gSdchjC}=jq7T8m{)xrN0ewu|JBvna)7VLQBw_vyDQj+%+zn8P?5VFF9TJk1Y+H z-${Ob(i7NPlJ0CCFC8xvjg)wG{hB>mlGAHXe*CQsdMg}LKAP6`K1wmhG<5%vBK$y# zQ_VEH@muVNXgkDV;D_@8Nz+E+)r%CrEH>eD$7i@-arFH1QJ=bDjo-vd&uwS#UQ4h? z=SlB(X&m1c4+4kh>GL=LRHjr*^$O6lSc+Pn#I@C(=5zi$JoNdnSxqUh-B??H=&0l-&^W{nhX z8LX^p7G?&pVw`{l6vm-C>z5^Zi@C8LItMRzhMaX)?=1zu7dg1}A2IT499NLZ8NkSj zA>DGoVq(tDWB$U?=2yV#*=_}N{E+K421iT_lhy^kv`RP|^IqImu4lw|T}8srwg7vu z9pT>apmVN=H}_m~n4DVCg92AC^;{HYZ1Jl7KdHRuzf*b2ZvMXsfCGUJJre)#OkNX( zM$|Ng%qH7ufvOO~Wd{!wV8L6Y>M?G&zC!VYLlKD$zZ*udCu={*m(Q>t7Vsw#=ym7Y@+ z!AO>r!dV!9h=})fmQJs|d+#&2{zNuRIpuV7s|URxuLF{}KlCuJbKi)NW%A{5@37e8 zO9@P}=pdUHT2IFbv}$O$ZbuTMd2kyQqsr^()%HD+E6|L zhF3gE^RmKO%;nnPIGZd_})HN}E5>-rut<00@=<$1-yHRu(P2BxNLa;RyCVQoDs)&f*H zM|01&gWa=sdZS?H7a(pD!BUMeEZG|VHKsltQM=v6@zKFb%5^Lnri2TO3(Bbp73m&6pPMVeY*RME#Hf_84(_@9vvRR^61A}ot4Ms5 z_O@x(MH%gKy)0`2k2VOt#>T(g|tQ)bwrNIh? zxzzMLGy(Chp$hxDHUlK1I!3RI0smN{La0W0Jo~Tj?K^t0p+v@GK@Jw|I~fVQ;tG?# zaf?l@NsCg0ZN$anld&XoE#N@@pal7BEl%RvAqUXtn(%$nHo5X=cV3pfR97w%&Dh5e zaH@MKHlpq_t!B3dRP)z2mXI^Q#IFf~-eu=;b=C&jOOi)TU_z!oh77#7mJQbwcN6*6 zyt^5Cvo^51KKX zL8?Q~d!8F&c3fH+01@)Us@0^^t zT}phT`S1V?(IuBURlb_OWi?D+Ff>gmG%V*4Jh5)(3-P+ z>r}u)QNR{^@i}joUFaTY;nzo#39$L_^2O#H7+@^&<;-`TtFXlqp5#jO{@EU#`omR~ zhDu@7_#fQkTFsn+vnTmyP1~#@*PfJ~sMw6LiiqpW8>mA2$wxZJ383`kG#V?}b?Y2x zl1yoKUhWZ@kC!!92n0WMtYChGpg$246W*%rb?N<#`iEtB?e-_!V5Qqlb}n{?US!u_ zT2$_@{Fp^(gX?D0fCPWdPt0lv>oJ9#!U5DeRgZe2-Rcc7jt#%0zbHeW7%id&BT2Uz zu`L#gjgp-fV2YHHw~-^@TKUZFpA?K?e6R#RyIr-W2%k^=q#0IP-Rq)yQ3g`<2Qe!S z(hCU%Ud}!*s%uV?QKH9!%bQzY|~^3XUyVD<7HU`!ZzKuu#kxgr3M#S16S5abk3|-vn4{3 zP<|58B6;l8B4#5Tt5R%k1XOJnEEn8~Y>EC0Hc&iE+ndAb@0c$_lMJU{1wnwisUoXW zyuaqr*T7Q1kM05;m|i>K6%?3t&p62Fc#PP>RJ~-Q#x9}mwvk++ZAD(TD z-cI9ye0lj zWxXWL(7v-W*?Wp@tOT%+$I(eCteTVqCYv`*O-?(5Yd?rBYa~vdP6~pF#G|gM@%kB7 z6f`aB!ZhjRsyB-HGI6ZFFi^waoxsqcTnd0|sY4A~!BmKc3h0$5ljrl1;~rgC}xHk$+x z%hcnDeA-8>E8du6Qw8sZb4X62CH8V^?DtAa=aQM43&dM)ML&&>anp%HpQ4K0j>|Q= zLy2M`crIT`d@wH&6!9FGSYMR3_z?1Q>0Z_{`RqBu<*R|+T%TiqZ!@l*ZIp`N4P)dl=4*YAU6^anoin0QLhCM?f_Zxr`T-{FC@|to?Mebk zo6hf%TlKv*zNK!+R~DJD>gx(6yfC8!hMtS|bwdq;tLan0`=lwqHB$;{5#M#-#?_v$ zw=NU%RA#y0uR1!*kWG`z%C6q3Vrp=oS(!OG?Jzt^7Ij~x?q6jfknPgvp5zbd5uc?9 zIBrqifLFKaWjbCi#1ZlCYpln-vyGkAAl*T%1yQG~OJC1rJh!Bg2}LJ4L|GYM84zYi z*D%`}{KGP~v$#qvY4LhvSm7A(fyIhXEC0q3?Gv1QW)2|`eJFH(47_Q2ndwFHx4b}M z*fY5g<`*&UC)%Poi$0ybd!G0P_FdcrM0wk{;XSLqWQ;GZEZ7DYB~cf2sKv_LDXn&_ zwd8~0=>GAFq2Lev_#r5r1fJ`?Cl1^Koj&TNl1nM$VYBvDvdP(3T?>!id|WSCDickP z7bfZzCP>!H*ceMNPygsQWTGQ;f=+DTA#K?hn9|COMp>3N4jWaPonxcvihHXGR^8;jo} zXrIux73pWa0K;bD7~^tR8s@6R16I)sNq72LP@~o592>Naj1box^k=+PAi|WYG~7`v zFt)ZlD6n2CTc&#eWVBat(D}P*kD2faOx9U1%?{6&RYUlMa4fQ>w0q~S$ zlnWgld!a$(#QX63PZHFY7qzD-tw1zi*XO`=re7h11gVa}GR%ThbvfNpBDq;aYJ?cBg z%+(wo&qP0bG{1V!+1Y_Q(FkhBvq+`E&zJF94LZP&V zf-p0{Z5JwcSpHg^(jjedMrI+*U7;NsZ{*a4OZ6i#N5S{LDkJ1#$}t=5RC5i;Z^;Lb zeP3t!g(6m0SA|gG>$2hNV$izcm_QbNFfgVfNgE;=c}DPKHY~S`srir5P?{9}+gK{m zjM&uLrAwwG&O}Bn`bTlW*R&T;+=Q;OobcrNATtxFm%!lp%IOLWw2@p(z4(KaF)=s?BM=8-w)j>Q ze5D<3^9HYle^tricO12*9TpobRN8Mv!9>j$M~mC+yoY5GFITA zkn_QYDzDj52?+}aIPX#cr4tjLmHKw6;=`)zC8#{ool|z=T+&+{a%4)roJ7t z;62=4mNnR|xm0i=^&~N-s=<`{^*J`I$0YSWzc8@1P+P>|#r8q%wb}0{s@hFr0E;l< zu2o@b{~S~Ic4vgo;bz>niQ~zaLY|_-7burTqpv3e`3>G;dTVzd&VvxKlo$8hc%JiN zTYuwfoZyjX*F_i)s(=l|!XsfTIzZ<;w5ohmti(eXu_`+hfadE zJoT#U_}>ygUN+Vv;smdA*{+ebH(iv#2XO(y54G zmQ$h_k9c?Iu+`?+!n>Yu9)*oE!im?07B^qOV}!W*PCgs>#b)|o@vrmcUqXHN(vcJC zrD_Nqa-1p1S2zQ~mn{*GFGQ}KY0Y|X6WThvg0XD!aErw^ViWf;C)X5L-!{%BC|!5* zi`+{GOfM|%c}jp4lXIDAPc(9ddg$dgK)>wIq7@i~s}?xgcK0aJ5X-t#o=I}sh{*fcbIC_?Ph#^pUzmCGokCVqVK+KZuV z81LK)tacV%7SE$?!Et$}961G_7=^rG3u+O_#4VR*%t+uq`__Aezr-)1TZ;ITr=6;O3+DJmPu zUrO1gUQ6Z%A6uK4jj!rXa|zUntJ}?<5PYkc?|l4gnS@a=apO)~>Q~UwX)|JwU$$gg zSrwO3-bj9pz+YSfO}usGiAkT@_rtqY%PI^^-lzMvm*eNQp2Dy{c!?_hDdH2o5rfPh zY72~F5;_sQ>L`_+=Fmtq9(^)5+%9bFj_C4Nb4g@!@*w&kmL|DswPzkJldi$wN zAH$z~P!(3HfvTPtyw6Njs;^TVp0<7v%sUmx*g!W!>;APbsjJNG&X^7^Z%r5)!Mjo5 z4Qj`PId?8=pqhWQJ?D{~XszQoLWKRM{_A(BXiuen65=aT&3DV+U2xjMw^l~AmWRo_ z8Bm`2ZHSg62LA||#f*=?9;D}az*<31EnumwwR+t=;`Kq926!EK_9VWCKA|asV0GZO{7F)G=I7l$CfNCnV#zNUC)V0vD3St^f_$4;c}#;ELi_vR%}NC>@fdbABNaoD{X8^%EYI_XUbKraK?Ru6csXdA#kcm7j^ zv=IOageDTXdd!SOE&X1!x=cfTFXms8XoxWpEO{L|;EFX-25(05^yT~aaV;vud!scjEMd=$GYlY1PsgFQnCvzbSV8LzJc!<*YYqKO*Jx?xxnR zgwpI-&AOKI+OH|2%cc;VPZMfY7kw!}pP^mY63;GThIZnpn)~YY z;MIxdopuLJSbu0Nu%K8-y=#T?$4suiFFnTXmTx~a00omKv z{PIPFe4s3-ETAe8=Er(HD`AdKDNm{^&C&H1N~2|B4k;zZvEhm74df%;NMtqZrU< z3X7mF)mL@!;u67Zy|XZzsJQ3%j$|JYsqr55?97#rG>hqE+QX#ZGtT6^VnM(8O-L+L zdepkglBDxcRx0YuoTd3Ra#whh?5=5BU~x08;>SQ^W2IXtIq zh&Gs0Zj9s?dhW2aLqeKf{GEP>_ z;qHuZ+@YGjCZ7~{NSIlexytBy$}PSrX#n3=v({?Q%(bz%oq11`LJ&3sQD1F31**6; zvc%T3G(fY*vV(0RL z4>8(OgM|0ooSvVoNtjAb?^}tdCt$OqEQR)7Ikli7zgNJ__Sc_CU#5k+(iS~=mC0@R zo2au7&?-DSGwKmz(o0mQ;|mMu65A0(7baLm5{Zj~Ly<{~pxMi@7|E03lnzm;=k?rl z+#xii6d;`sf7jQqJ}sO#4`Ce7k0Mk2=eDWKE=S(?qqOs039^`R)d!eklk>cPC&#oQ z;K~I~3$Ew$4U0AFWuX>$2Q@IF%jVrP)qyJQM%438Am~I9Q+?fi8tIWQd77tY3s*1C z-uU!=A<5&82 z))14WjFhR8Q}+J)+uwIDX9H0U*4?h47l(SE@$|IgJSic3LO=|S{9?Zbx|@;sH*4hKa-E9LItZ*W_R0N z$1fdwJI-JGdrTk@19=zAGhYar)Nz!s*M@v)yGl_|Ur|&5SUV7=vei5tqADs`#Y|Pa z4q>1_3s!z8B!GX4-?lA1>=PX3uzH(3DO+E-_MWP;7C=}Xo|qoOJwf1W36hUZ5%Z+M z?<=ShHQxm$xw&Pg3sXPIro)nZjJ*wg&oO#0&>E_Ax~TG3&AXsh5MSMk^q{%VsDza% z#c9~h>#c;p2mcd8i=0RhSZPlTqyo)tR2iBXP6;e_4C>ItT&Q-6XGU$34%RS02--bC zffj3-+d?VE2s>bbS?s;OyE80bMoDa3sjHe8~QPAwCoVi%eb zr~v|kYCU$dxmCdc&L#BEyY53-g8>lqE>qlVX~=+PHfdjLpFA>pyOCZ#C~KVHVW{|& zD(6&=1wFejW_9A+Pu2R9NQ*5kQsVV*&AzMXkIiDgqdDLE`O_-i(8r+bOJ`KfBf7Wb zV&l@Fyh#TNt#wInR2NC<$F-8QpaJk<>vn=7#TSN(;!=^}_EeJDkHh=F2o{fKI=FIK zvZzu?$x?~oXtZr9yon8q6lr(N^l8TN!=-5>MGNg*K0bt+5{cWN)A97Uwvv{iu(r-D z<>6tdV1f;~rvtd<82Vm;rRUlD$CrQ9m1t*hgL5Gd=t;jZ7ES-d>L$o1)5&HPC87^F zUed{v`DjjtgL3gcT173-OMY|MR=&%m3M6Zqc!l*+&6CznGtjIoyOQ#9{@Y&b%VY1X z0Lco0U}lTRr6FXK5Vo zl8f$eStg2j`64w!^vtK_)@IlRm)C)KwRl#T#RN;gY!~8^Z?Ge~7Hw8LbB^!Tus+*^ z*OUNnpTcC990BMk5}U08skF5xu6hD-xC_o~7Lf5+=)<>W>ja~wI z^3KpVjnazzt6LQXVa2qz$0)RU0EdzhQ*%>2w17N~4WhjVpXBinz)%k=SFYD|ML$@2 zy)*9#{25*)>HD=WcB}02&aiQDOh>|Hkeqd}hT;#?2i)geZDpjo>NN&eyWrt7O23W} z@mxCgOftBD04=}z6#a8t_OI{jdZjt6A0*u2?{zs8=a(+Gcm19jQ%c)7Kk-ScDdHMz zp2V)>L+rofjG5jHN-8R0k~R43ePmSWm&Z;`z4W86ib>l|IR#d6c6-a>SDmpDo?7oW zUekXGdYW)F7#?tY=K;_VNtjaH#c;g8jSx{fa^|N%Asb)pm08=Tk35iRqO^?^nXQjW zoLO^m4`egd`(m^n9T6udvuEPi$pz#=t)TK5ond~tOO%_s53;^(?W=l&$##TAZ9=G@ zIUU{}@Pl;K9$4&)gMGU|EH_QH^=Yd)HlJ|(`ywnLs_FHA1N3Z8kYz<5gBeJkw@BVD zSS1mqNL5XVeeQ;m6TfmL8x>cuNP&QGyTZo~@Ab!C#_J&nuVvE@IbBR^m3>w)q{Yxq zS`w{Ji3_lD!oX>M=&;vymdHo>!i_rIC{ldA3hXQ~E(drF>U?vO!m z7wb6I%SavmfG6L0y0VK;^sgcaB6kF02XpDe|* zWA9@)<|%a*mG@!z8!$Idq{X%vzR`iu>{~$2_4rTKVyZ1!9KWCYga!`rPrm@Loz%wf zl5a!e2|=P3KfUWOT@}XQUC1Hiaz*qoJ>O7djK=ckVT)<)z-UwnCIhzPC#;rql{Y$Q zo}_eQRTqL{r+Ae%J4wmplYJQSOlULl+FRlRHW(9op%~ml`3bRqbw(){tq6TwCHmLL>!7}7VZ&q%aZRH5Q$}W7KX`=rt&dMd zWT3vUm|4)4$ zkc$F7g)U7P4W#5Y)EOpT$U)2~eDAa=V)0ToA1{C|+OP0ZkJ!^@%jx+LnYw}f0to)u%Jsd$o;vrmATfR;}FUE&s5*hxVd2 zCG(_0ug=`Q^b3}utJ{hZyU&#)CtEcMtCSSJGV8_&m6m7*!s>Hpv);n+eClWdd}Q|w z#4~C)=r{?KbZ@wyNvyyCYxNiQez`?%Vg;_RPL-%$JxkIkt$ZiN7AFR+$flvNl)^a$ zgBJHc%QjtF8|e=_YjjZrfJHJDkhSZi!^%PQN35vcxP#_b#y*`t?s&sNr0;C)6>mT` z_15x=r*W;`H!W{fRs>*_t%@25w8+8!`s!^Z^u2I5n!ijU&c(5)F*hjgDba65&Z4O( z>^tZnW$DmvMnV9gtY4LQt)IYnC4G z!QFOQ8oW*E!mcs7bDc#auDE4QH;-`dM@~QR4G0T`BnlHUbOOP(J8$GDC0Iq{hE1}? z;-5(fLAGi6^N3RvnL39Ci9GsT3^0qL1v!2R#CH2%O+y;79C08t3rRTK&b&g2vRg-l z1|IIO7gpt0DqUaUYCeAa7`Fr!?w&Dg->A>`f>A_m71n(#+Tuo$jpMN((9R_xN1py> zffrvPCFnz-^RL$88P|SYZrvk-uFvYLCm$uPo6sHltO0r&%EiHXikf7EgBh;$eo`-6 z_Y8c1{W#)nlaDN@Xs>{ff70+`g!?XiXbQa(v!8C@IWJ@o&`!#n$lP$N`#qx5A-5mz z1IH%niTJ$7&-dE6z(Q01jIM7k%xVeJluzEro7S7UXD`zy?0Fj3M7XgMKWW7PI*Q5g z(A-$G^ya`%@_pfb-a+s7rg2NkPq-V)-uckdKuNoqUXwb%a!Gno|9*1`LP8Sp9-`UG z``6(uaqkBWYR?Rg30Iq(F0){NGM0XRmR=xA^Y=Y)#q5-(FJT66An1*6Z09aRmca9? z0l0Q}ze~gF9~eS!pxsOS?E-8c*cSeU78s>}Y5B~%Rnf>%Ms0Gz^P`wvEFZsl)MfE$ zw2$ivfKU4Eco7j%GQXQ6yxR#fK>`ayr$08uAMfd`eXNjk#=`E}QWYMNOjpe&?Pt6{ z^wjE0IKyc~@`(sOElRYCD@+pbT$e6Q&~3!>W-9UjIX67xwz|2oSLn7NHhqaKo-okd z;Ew9!zG&lY2AycXy5Hta$VuGA664OUq z^f)q2!1RrMx^UWJLegtL(dKuSSrzS?p`H?%N{&CL?d!~gf@$yWWzSB%d<4arMgltt z(~c@FTbd)-xfgt1H~23l2$GN<9c55CX6|q>XWad1N*D4Snrh~{gVT<&bT<$0=}Saxt-Zci9VItnKGW{u^xZ%;g%XaNSc4X?XVu!{1bc^u^*|t*RqfQ?N>80l}U=WE(D!YQ7 zy6|GBFOO@+f=hDi1b*+j@Cn9yzb-y-W3p4ik9ZkVYUi$d>1HDK(+xNs| z%wQs4)S_VSTEwFw=42DhUv!&|ynFPnGL0KP;lTk@`OPzuEsQVdui%2&7%m!LaRItB#B9uP=U;>MSq)5iX#F9DaKw%ygOv zGCGeR97Fn-#GdvW$)b1ty7=~t?jhCtwWCISM0~u}HYrwn8`MyN{*JCpzZQ-B3z(#4 z>-d%NXT#}YB~DEF`(@Yli1k_B&0j1Z&p91A5Fu!bwbd`%t4(|ekzU2MSf%{TIKp(v z9Mh3>{SNTf&dYUTtMxoOS(;ASuHpxMb8zV1DJp%0=)iq{k$A6COEp3{Q&5x``fes` zVWY_e+(f6l0inAZRfP2;a?gf?0iBJaJ)%1V3>1J@*7q1 zz01DVm|!2J|1th`=}3?g^+!hANddf{#|D(-Yfjgz*bR3ey{9=oQoKW{xv8bbeaQ4%cG4Tg_DcjB-&NrryJ$x9w^aD;l-Ucj}PVbe7*M8 zVzla`j)E(px~i%6fG72Sx+2U(iDR6xA z40K|pP%FeOlXsB%GJv-{y(GP2PZBzMiHMNps^;>f?lj++QhJ=@(7*B*_MSR(!G|#= zJ(^GC)ti!={Ps4y4gH<@{iu9)!XtWHdEtdorTvyhXn0(ZSSqt_(KG1J8AINSOvQ1U zXc%&0;mXCP(a&xp&5S!2vAZ<=Rypc)&a^dQZ!#?7C%RKC_0ll9__-tDL{{ZQt;P3~ z5-%?enh4@9n$S>}Jt+A`C#YqwX~@DbO!}INdhB@yG?CihFNh$X*H+P2ZW;Wa`{El>sTUr_BNTs_r$1 zgZk+`mvGTL_po0+afd$p;1LuaeCoa4wZz87Q@8WL0`UNX{0kyFjU%F}C$jgZH?BTi z{qT`rttXhxF4c>%G=ug1=M_4vq6>xASoQAaghcBO26*dt!dk9>#esS|kbu#Wt{v&{ z9UptB$!m@U)5gTxdhkxuwq0E}kM?Z#Y*eA^PhdL1$-CMXzCZQdOodNp3$NK<&mS4z zj0hFfBGwm>zAxKJ+tK}<1b%lx7fC<uUW+ZZ>@8e=AUkd4-7;xl~RlZ(2goqOga^GGRlsE6l zR&9-ImH(EQKupz0KbyCNo%iM2A*GDayKJ=M-=W2v6qXR36>*GEZw;5#6!+J}6v4({ zeu*RFbg3W((<1AA+HCPe`e#h1P+9}GYvh2%`g_EB=c>kyL2)mm6Qz}Uh+RfX2DUnN zNt_q8l?91K#yZaQlZ~~x4b0#$db34dMnbsx628YUhx{Luy;W2j0lPK|HEOtPC{i4X zJ1J7UxLa^9?iQpiT2i18oKoDqIJ8)BiaQi{_mHG#zPY3zh7Ys^45$~K19OA93@P!)vJ~CbqVS;MXQo;@omVq&##OsQ zzmx_(_cUsv}A}PAsGJoSb{Zj2ItUyiS$h z;w1ROi^Bh7cz+1V1e`ktFo>}T20ZP zF$mvIUdQkMDhmQhsSAC#CW4*ON%35da`UKPtwC2js@0Q801pup=H08340hVG#c9j*+4n@TCDVp4=L+sF$C`4QFwNu*I~S)>QASr-$&h?J-?s+7rooRQ zYkQdrXG00p&oPu9e*dr>-7OH`tPq55k)R9MEXsYK9nyPl+nEebZ&9CJ0BZgjZ%J}J zyDOKVBEg}RxuvIbing`>l3-;yGdUJ1g&1I;+*f40fKIE*vZA*Ib*Bb+D7fZvN}4g* zpv?e;*52P&r4N{h-U{wLY~A~ZWy7P7^fzWg4b1`&s{&u!nH#bbk4fWwf_^=39uOsC z%7U^mgWeB4(@9t?*)ck8I;lv^r1}lx{g`T;vs=Fk$yRr_X0jU{^}1ltYjx~}Igh;t z9L;BtXhx2z^`!u$vI!V*1=8+LGV-Zc)G}yb3s<4Nc)Ptko$QaJ$NV-x%_~Fs9&PRvo;S#zdoDCp{Ta#5&4HTQnhnMaB~I~RT%2jnyAlM z*5yu{(4yN{lloGh4e#wD`SC|L&LZkQ@N_Y(YlIprCNmU{xAB>G540YK^|u+>4nc4= zWuod*KFGbXZhD(_8|+!NW4+T0fqXNNs;N{7E*|r=H=_3a+8_HiKhaU?!S@I1b7hY~ zxJH>Uj+a>Yn(HiOyL?A9KX~KtA6dxo!Y=(G(AGUnEdTgbuCEPsldW4P;gfQ;OOo%E z8(*LqunRl!;z>8vuv?Vp-Hp`j9J*eR%5U&(5@aVNcFE6oCWz+tI;+>`X3XVGtRibz zqO11vrYxQ^hwP;DPC?vT0{Ooky|MaSIyHlQ59t)$HOYHBE9pwXYAXlxC#x4Ryit{? z0~#Hn%ZUXx?BZ7)%^G6pbgkwYAKs?^Yyj7{vwF+4L2N}Y`EiuZ((*N@arZBXWwSORmY@_Y&3pwc7E3d4aip_2Gv$# zgZk1o+jB$_^c^|j*ZvHiGGmN4g=QwLfmzfCM_OC+z6+m>VQSN(eQ%WmJ-po_vDEY0 zg2BousG2P*jfg3JpZosd5Aty;IUJ2nF%QfioDQK~l(F#yUdMI^8AvlV~w77dKCq@7g6Y_8mP15tr%UhAkd8-ucG` z@@e<(ekGEKJVlu?*7N#_G8>0pE)!p{uWD4stI#SOkR?`-Zb?|nDBQRXei?E^LCBj& zaL&~ViQ5v$>2kVx_M1 zYXwEF+{)J0Xke}REkKwPAM*V?Wj;`l(5X+p0ar*_cAOz<>hFq zTMP-~P}F@Vh#Y6S*L)SeaY|Sb@Y5%X+w5ysE89^6$HfT5e(x1^$}1Bver33uwM&Vilk`6}t+krch8Si&50+0KS{4GaC zV1*Fa+~8$dy;5H8y*aZ~Fn`8C)OaPV*(aoykC*9$tAlN6{8>VTYo}@#({tY+EIrL3 z;K#s7Vw1_1XE68y|MdG4w1SD9-FM+|FsQ9lI8dLCZfX!*hFRxyy+HO&93Kpxcx6sM z$)%`z`JUR1Jde8|0F={0!HI(_|^_}`3 zRz+Gji8|qq%|~vAKRKylWpj6qFUE=am8J3jur6WCX!7COEkeeo_A=Rv;NG2YKk9Sz zOtn#zT1tcNh2ve9;9f)O6aW5gV7ybKVRDucHAu*NuBg)(WT|n%sQGXUw?qY0Q&t z=3K0t0Iy-QKh4;nwdi{&C?4HuJG}nH9JzJ#fu|82g=sA0%`<5)uTQ??IQ(^+`Ny$3 z8aHC;n%rURiK}LH$hBR;{&=w6pOD%Zp2%037*o*)t7hXq^{S-`9-O`*VtH2v6Dk%$ zzsn{IH}3gCbd#0w2-9yilh0tqQeA*e@qp9+ix%8*Lk<3i{r*Qa3=9EKUh!rLlsUP5H5Uh+BiS3 zTgaH$&lKh!CD_Y4$Z{Xz@&vBVx%rE#1(uvBfw=mzEYAnWFW}7>O()CAS1Q;&SHLO3 zd?{P5A3RsS$d-68nWz&lp|C(L%q>wDT!6q;dg6{88^1g~GabqyQ(wD+;*-YHQOXNA z@hd1r^$mnw$$Lc8N}9aE@Ti|baTQ@ZZN_6iQ(8jG_S_2U6UKZchS}N|OOf8x=@h9I zVjiO~2?pLCD-vnsyV-B8dA-YM9J}ws9wtCh?@JRxdAxIiETH`f^T9OrNz|#sb(4lQ z4qCJ_hKjjoWFO=#M_ID5Kjc6$CO-${$pQ9K622X!!=up3?5cI~r8|U0b=9@$3eN(% zl`{a9X7lDzN7_Tg9>yA=8cce9n)wWSQsL?D%1YQU3@4ij@WtbOrf4JW{#N1nb8Kqt z#aMoA{&Vj*_kKzuOAAn0Y)IDfJv3wW`w$$F8P7@~1KD2!i*w(5CLy07$0 zwlA`T_|5yr&>Crw3%|}tn2QN{&jWXFtD=gUjw!%;AZn@7@ce*G?2C)bym1xd`-kOujOJ7kL41ENV4Rqg;i;7v z6ZUtIV`Itobs;(RaR6P0UPD@jRH_$u?%;8+x5LMX zx`xMRRW3^%$ykJI*~67~4I@8)xCc{)(%%K$NqHZI)KaBwWIp4)I)y6GL=8{??kILZ zbtHgP3~b!a?1)SdRB|MF(oiDF>hgmG>6Cmu>{stecXA`W6Zl-XA{5hjA1&n{spH^8 z)F`gxtL(#A>Hke&n%lS|#;WU?L=u`q=V$fAT1_idZAFRVtJ)=?`m*S5vden}5+)N1 zVc@YZbux1d5A-ZDZnB@#6Vz_S>j~5^{7|0`B?(wyNfg;?E=oAiQn0SoakoeEJL7j( ze;-K+V&UvjNJ^&lkrZM~G`UInhjj)iLQb%8hZS>YyAUDq%NI=UAL*dpc1Q5?rt++DP^1kG*d?EXKbeeOpb1?r}G$~doZtz!?FAubR zc5~PqH{+&c@H)W2A5yfyr&XbzC**gEUCo+3y;eW`W$Uzsc-}UfR%yie2q{ zWZ7~sg;nFr<{^IL-hKN4Qp)9TVh-eyXSy6UGFjebpohq9C^Q)|zE=3Fok!Q}`L3kT zian|o%~R}yWB+pQW4>Y>I2Nf{btHLZmd!y-)^1a;(y$_|Ihg&(*;Db&Qj_`{h!)(@ zt-A;F4F7QF9DddLI*6)>+QDsbc;@WTHetzIObI&uni743Qn)2X+-1SoPc6A z(Tpx1(wgg`Butoz8&JGQYR#$geprBN^&<`H8y2C3?PLesdi_<~Kgk@B$PA*zd!3UE z*6grq`)85lW?l(*d0O=swE6X*_J&8rW*L9D*#5F*kE@CZ* z4c!NKEGc`E{V&|675k1Cxq@((GbG&jmM3g7rRV6Yu2f9L6OAfdDDAnOjP#o*>!{qj z>}HFSTyh?5;*gEEBcMqyo0<|Tjg*WtL_nY~SfnWacO{5d@lnfrue#J0A5SzeKB6LS zrScge+}!C2<9MC)UTAZMI&{l`HtgVZ@@l)*uc?y9IQNK%8TKlHh6R3E9wN0ZU1F9v z81GpAC?S4{>f4BY&(n@7tCDF7_3&%tcb;3D*;SsIdlw*KVlh|d{=*6toW(F!W$|y~ z{~Q0`88rU#w|l`L+Yx$Z~CMnt@%`8-OOjshEPN%a`dHZVc zk5pI6`hid!U+`@nBL?AGIO*ViHpW}7aIn6F>PYTl=b#7w>Mw}sOG9tx-K2;BN7tz@+ zyec;l6WqmFU#>cIz$0Z z6)vLrq`z;iewqpB#tBlU9#d2}tghX9wv1cH{jlSux0GwjLuoR>^iQ+UuRE$f=Fm@B zPVO;z^s!W3_TTnjtRh!ms9ol~c1SnvG7}dZnet{gc>Kkvm9OwVY#o8%Eue5u`{lNJ zPumXJ>#W(iGOd6MsNxi|poPb-83l)$y;L+7f=ea0hQA}F)wV{cJA&_QbEs(K_Zta*I~W}2LayNQvf}0{SltzdCnEEm?frc5U^2dP$s)9qzd@9b zVvyocEetlfkEtTu8`QsCy)q0H%RTw-6^7gYOi^5UYj$W5c@_RTkd_I#aDb`2I6nHJ>%!rE!@>*{u0zo>k*K z>qhmUE$^yGlW9k<8?1mn$f4PNjkvjjrUX>gW1aWwmw3)LiJ;D^v6z#{{e5I7#!YM6 zACaR6{h23kIeoDIVqJ(Dx1@R`UgYVrgin=r5^L1Juja!LCIJ1G zZ5imP93pz$YfP-$Lbpqyh_vO-dR4C$bYWn9 zLSBG@*2UCJX+A-A-*d#VjX`?&$ZSY8Tg%)J2i!~*WNEH!lDbs8{C;f8*5e;mwQrSk z6`4OSZ0@)qoDi$WIWkfy<=pT?f|LM=DrZYnbe|(fM_s@@Rw?^MDs9DJjuxL@q@%{9 zsG+5V9G-D2+ZH7j(_xtn$DGI&Qc)yf&Q{1?4kqkBZ!{oF{|U)F0-tvzG`VxJ-w#$a z4u1f(CIHCO0`qTDw~0=I)$#4Sg>5!_L=pD?uyg`eU7(}Fjo<+ommr%qupRZL&Rn)6 zCAf1bU(vqZ1LS^v)4i;h9?G(l0~?I_y-_{Z zQl0S5eLylZr*Q%9M71#Ht)gNR9ge?}6MaW`=Drefwevpr3Gbs0&&3{fi99+axO)Pr zPYz!1{Hc76l-%sj8as{+RVcZJy)w)49a#7OeAmcXJvX(+E@Vk1rsHQ`VAMdd-yu|njS zkjRxVsC_U+>fzhN9#}g03hV^W8zVbBtDoF# zZl1jmDtS~mNBRw&D-(qOQ^uUQu71K%RSgyTp6+hD_RDY1-HsHXbsV&PhL8(Cv8(vD zL5awG7XltBS_Qbj{|ziY*S7d?A`yU!Kl`s~^Z&u0!G6DF&nMJkmypgKr9|cv_|t<` zjVPJJZY9fWNNoM?j@AA?(ULBBYLg4089=oa(|y0eNU2L^)O*caTk!kspG-;WUjp=( zZd=7e`sh6K>!lEeXSQ)zPMWRGK6kFEXDqLT$4-3bb8)#vQZqieHuE8VqBO76CxMxD zFhmiO-;lT5eP#EV6~RWEBC>Da@N|@<<#XYNi)^B|^RiD!P}6x-&idsE68}B{g#iU_ zV`la)FaD?tQJhiqtm2oESjnB)_7eYbr{jL6s9*MVO?dj)^~#vm7NOpdGU7G2X3VC1 z7Vl7bOvZ4qms49)r%3Ays(*5~m(C@n)b((`H5nTPIf7q-{_fD`?!l)}_r>vS*&I>5 zQSNTxk5A}8>TK@wYqVCL8&__Pd{N5$6caP_6H7y{dsuOzPH&iU=I_Cz`uQobPk1Q^ zFX=>;Kb_A1jb5DXy#$zNm~yk%I5Br;v_Eh*&O(fT1&su|bDo*7E4C!>Jj6|VY#sBM zvj$J|t3SC^6@Ki-3rNk`!MSaUKjj|=@WdrlB@1bV&xO{CY7Ph(9qT3}rluj>;ZDq6 z3REe=&x>_cC%NTz@GVf~vrNb-r4RUlKVh~1 z%>@jL=;%cZA9*)kgh)a`kL=o&$`6l%`M4`ozot}=Y5eRFp~*q9d-lxD zZEgi5m)paUN&qaJ6=1ggmb{q-A!(YxfDOLfRaJ68mY(^6a|V2@_3n#x`<1az9DB;; zujitV_Z9_+DVdXEV_mmr;TIh<6;dgF@1G$bBRK%TdTjQ9l)<6C!mAj$WP3x3H#h~- zl@B^NG zB|OI}snX8uk>0$|HmPQeO=k2O#w1_KP;)r& z(Sy%v3)ecMiizyq8+4O<8-=6vav#+&rEv1pugE+!=yLfXedpwdtM{)bwVQmDsFcX} z8*X(K=sDE>Vd1Keog4~Ozt&aHx=!IwWPG*NkDqh@TGa37&jclp?zMZuDj5U6m#awL zUz@MC3*uHEzUXM?R~~#uALMG5EIRapY0zY-Ar0&4FK42g%OR!%8Em``QtBis;b=DE>W}3T*ae6iED9H zu*=KWa$YI0p7e%bI35VzKUd?`OrnC51#u1J+1C93h^r-k(c2u|)F z$F2B{2_5uf06XOh%$<0)vR6-_=qYXw6jUX;RQMY_8#-!C0{VN}myBjsM|zDYILc*% zV7tNOb3vzw4S7iK8elgPRO9bYTZjDu-{cZJl-}ky+}z$#rwJqbb=FT3? z!gGF|GmFW+F89;t6c#7*tahbZc7US2!|$vC(|et6|-hpI#J~8p?@bz1+RSZ=eA4r0*_$ z>N91g7UX74Pgyyp45F(0+1AqB+|i;&NRLZ{_q@i3CiD*PZpu8aX#ma=I_2O*v4-+3 znDrc>iWR0GHW&coHoe;I1cRl=FU1$MIXlXzj!QjBzHYmvtJdEshU+XHQ+mXG zzVTV`ck9xmh2+BjN0JzD`!5pl|CJ=-y;%#$W(i7bzC9?=`7=d}2tc*&kbahpqJvE? z1I+f9f3erMWLG<{q2&K@iyCnErNO1NJo@!|6VCXH@Y+d#$(`2I3eFm*)QLFSJ!`>z zdA<|RPhHpDjb_J0gA}HdrsLyh5OkN2Bc494 z>;CmI4>tWvQquLK7sl-v;~^dF*_3Zm+Iq;kRp;h zUuLi^L#D&#QufKV92YM;$<*N}$n}J2{$kSoz~gURP0!h|t9j4ZT?6|Dyl4*tUW?|% zPgAIK%h9tRbnEA!mAi3A=0f%J#(DC#^D6wmJL=W!bvRGB)VHS4)nzc4bCX8Bv$xaM zr3r}K$LaT?GNXL4BK5;VP8rw{)_~t%#RZFh=>3V}Va`zMew9Q3qjl^19cM)cNVcgo z^|kX=tyuvGUwGw$|0m4%TIJtq+x6jkOgaxo?9>=OXJQqppZje%zT~xB<9oAs5XY?9 z8BLDne#M3HaX7R7==ehs`SvyM8U{YS56HuuEal_lw(*V7HjK@f3+kjf9Gw zeRI`UJ+yWcS$wTd9=(v7hjvBU33tJZr$}z2jxw*=^tP_e{`^w^A>L5rFe33;>9?-w z-0dxPirs*8Rb8tZo*-rRYrf|~dmi>1K^;nD1^Ev8gzk;aS+dWGupqrjtV1zG zq&DBY{^}Ix&ywMOaHdya!ml>;T@0D88Y_|z=Zo{RabOx>etQ^c^VK$gV*nQ5JRm~S zVyx60exi-M&`o?qyVP$JO)W-CWoVOMlVo})sDqt4!Q{N~Od<`pp&+ZZ__CXzK&>l+ zk$8JPGW)*c6o|^+f~d^%9Y^Xj>7!zkxY0-!2K~UcS&YY#qeONPSm|UDBgwD1VA~V| z&b@?L<`QoxUIJPZA$Qz&BK^aUl}=XDqT^x$aLpxxOxPE^D>Q0fJ*mG-Li1(T?e6%5 zPz*}w8c&FwtCty<_P0%ZOu<=4@&!0hs6>gNt71f7X+3z02kiyo{lV-vRbwVgs9X}m z4{Ro_m@i|N9E)OTnt=zhcKufiigD+m$L!Ygreucx{oJc_C zi>ACIDDNp#B)@7vw$44!Ed7t!QCd0Z-_-vq#uF{-e68_tZD@YPX(wT8FQFJ+igs}` zAJt-ek0TH8;DKM)*-iV?!y}=1Dem{1LY+HM8D0$h3@UyLP}&Tns(g!wJTCg;q7s=j=pQ@n zd+2c(p}$H|0nnQWbr?kyPRrQFNl;|NRX|&sjYv4wH;boeVMH%w>OU+k@bc{G5gqXr zUbc8@<@>9)ZP9g&4>J1j;$)ZPJRJ{`BKf@yJ(_UAMhIe24dUqIHWhuA@kEfqwJp!% zWJR~P8|}J#+>;}Fp;O-p&K1-b44mT-Y%3p;e~dq8vo7^|@klRi* z+e-mkBkg_#URzrW%G{XR+qkc_Bj8AFf{G|uA=;dRf;6}A*X4zhD|crm9I}n3iS=sS zKdar-)w1UpH!kw@q7- zQh8)*G++7ow|?1}fX6=u8wYOmnqYpM`{%~a;8{`9-C_Sej$f^8IsOu}s*0w&AM}=v8Uci8g~_44^%-l?yl-;0 z(SkuO!6qA&&vSeFt}MPU_MI|!{D9}Vs%;_&j4GrB^jL})1s6svvZZK#gaN{nx@ZoO z+W=4%;MD%GX)?r8PBGIKJl-7gEph8G12(mm!mgiF#y({Bt%zcyXe0A?W&9XLDzaZ{ zts8?>rX-s-`0iiQ6Q-|ta~3dpWz9@a6KBAj1i#3`k2~&M>HxTXnbbeyCtRg^LH8%` zIDMDPiXZsCPA=5{Y-^shvVEPBF6Q4yh_UY!b!}bl1Oq$s!GepYak^tu#o%4!D%;F# z1jqUPa#8IMyZW=Io>$POr1jqp)b2jt-Dk3%cz6t`kKfkI&=WZWU*=*1eW!M}(k`SY7%=mh^)h&N)hj&yfnDV|m%COTJg}Jgrw15yn&! z>_g;bw8qo2vtd=T>l_)uPb%M}pt8v8X<-|3n;1Yv#^N6q?PXAY+5#f);Nbz%X5eQk zXoblxBH~yA{POs+1J9!O;q3)}%04Ps^vwV@o$ocM?5u_3pryUZFVCJ^BZkb2b!YEM z&S&ShgQA+=G;dPwKN2ks1H#G35BR?NUm`bT!})Uzf^#c1No61bL*thFWqW*+9=Om? zZd)wPU2sijs0Ny7IEImXVD<=qR&~lqOtQO^KVuv_JaYJN0-y53G~RVEBG5Bm~e4 zkf4X12M!gtV|U&I+QBCJLKI(m$o0!YKO4$hY!kB(>j;*vb(V(#cnf>^6MU2tYS8U6Kng(MgLza}M4NyjykoM_iO=11!@J{f&Ih zla;JWXV6J>`}(a7`E;6E8|pKOPp1D@+VK2uhNS=H8}tA9lm7pGTSfCfaRTdA z|7QNz|8bnJ?o@4C-?$q)QQf^Uc^oeuSzjBUC@IsRhsBDpFj>Dc%_|{bp=qRLm*`M$ z1Z*ifhC-WVel5nv1m2+`j~2(EX^_kgz3fGeSV-j;L9(};<*A%mZ%e|zivW@u!$*fL zU(Ia}=w$cqM3N4Oeg@@j)7$B4J3AuIMFHLK0i z@9Mdj?ZrEFdKfvm+TU|gah&(W^zYn;I*eg!`*}qeZ;W$BA-{i^ONE6%^33RnW#tu3 z&vTz^%u?vgz6VUM_&yJrIev&q*C36<-=kDNUe|`+^}{4q6&Y$~+eM#o=+xJH6$=z^ zJrlSY$Xr+o+Uh-p?aSx9o0~6Mdm7N0)eBsT7kuOneOG748@~bBArv4k$bu1oH|15G zJo^ojgK+kJ&#vw2+-IX>Hh9+8bBfT3bT=0}7l|y!Q4)i6b76zLHs&E;L#m7jBSH2y z$>F{?kDMgG9isdhMP&X$BV(XYa`Kmv3%MTvoj%gL7Dg`5s&h*nte-yA9s>WcQi3wC z3{M;YcZoOMbF^?8-z3~bg|kfzBicuh2emo76Xe-Hv>or>w;2G@m~1oxtjfxaYys9P zU#M`qltLK-Mpo$laDvI+A2LD+`p*~Sj^(6maC<(zxT2NHPg+G&v$D{?9;!#gsw84X zxrm!81HtYhQP8mZex`B4g872m8kM_EI+@gsDn72lmUdB=}@|bw@Y_wIb2Jjn8`# z?$E9RQkzug;mZHW&dV?_gy&a-MbNpmUXqO1-r4??+iA7UFAzps@!gn%o{{+BE>)^D z*9g^{yd1H@Zc?ioNERexFVJOZyT0*fb{|JJ(SpPJ8)dxrm~%L{0Tp}7!F3R+DL!hG ze7i8I$i#8sxM=hjdzfnKdhAo_;^ukbqL zYQeV76lr)vLgLW-xDveF6Fb1%&@!3!<= zYmLcX8uzgVRwT$W5!u>?XzjIbA3tb61)xz z-lT+-pYW&4W-=+_J>nCRp}X#P1~eCIE1EmKP$k+i;ab!>s=p;B&$w)| zYWf3sKOUgr8S4^X1t*}@4Y|7ySFga=+JH)>0T_UD3lPavRRYh|n-u7k0yCom@}XuXgZyloiyhqX-v{FF^j z#uQZi5L5z9^rA~L7~eUt_RrsQl37xIfCP{_ zhVAKU&T58rkd$Q+n$iIHND7=if;y=VDYC(Q78igWcmC(3XDp~q&<+vk4iK~48|=mm zod2#E4nT+X!s~)_K<9uR&VSSlA<$7pjHe9PciW5wWA1f)g1=`DPXTuge#62sFN5}XL)H*8FfDmLv12<6oFl9^bOzz`=5igd5OWt zePXIOw;_|rKNUdO62DtEZJTUF{c>2ne*g8%Ze>$Jx(M8TJ#^Jk`9BlZ_U}y)fU5t$ z*Bl9`qhODYPX)DN3`54>rT=agZ~O`V_8>xJbm*gRg0Pj{WUH^Xh@SZ7%_`%N=Uvzx z#8s*-T-#;BfxI|iU~h6fr6_MaT>q{veipa{wkj#Y?|vTmFcFaj$)I?VG*3$-v#j9! zqTPco>m2nI{o0g_F;{#_B4s}k=qGw;VSKQwEs zDT`8~p&*EFwIDviTj^E9OWfi0{3&dRGOrOOh3ox8ey=~#aegggQnLs~QMYi#2lA$p z;InBJkouT#;+^^+nfu;~$>;3$%h2->oU#WTh&uwReqSqu@LvR_KjrpFDlvoH+ba5m z10){I&hvHBW~*IO__71EEM1^()Q1CfUJydqgAWR_Ni-DAnLF~LGT1#mBix5?Y@v2i zyNi{`ay=c?KT(H&zJHzdPQrtzOGFxPLwbRdkxj-pc0XOg*X0#d)`3xLCF1h?KK3ea zLDX{VaKNt2Bd8#&UARwj=_^m!UwW}yUyv88#+~~>t{! zVjm2duJ4~QkZ8103Vz5>Zj-RF;J`|PRJ>HioON1}$~m+=2(j-?TH)*%0b*fLq1MO+XUf8x=| zwM5nzrCWb*_UbY21EmUM3Ev>xLp9U9!d_7ic@2fbbi7UXM_0Yt;;qep8&xu#^jox~ z69sRX45FB-^|4Yw1J^Zrg2i)tzUf3t1sJ8B^X1DTG|afbZyo@&GqK zp8HZ$%W^A>M@39k^3wy%CiGBWfVN^31p0GLH@f*I9&!O)l~5mq6AgGUNIom{K$gGl zU7|H2@79GZsl8Y&G4B1kS!>;AWm>wFvkzduQa z&_Ns^QvN0UKO5H!!3wEB%9&-fsGg!uO5(?WFB<)bT!w7X9TCNEa-R;7JdQg=0DkeO z3Yya%rv;-jFZmBE;n=G1t4C>n~yKXR+~{PNgTWrqo9`Ftr5+{}*OC>L-7NRMbV69C23T%Sa zRXwm>t8l|;zSJEI05Qz?hef)1?o`W^xzbHxs2jE^#T2}(!Ecmib@GVGFkTAp@So@*{e<|5JKwT(O5{Vhv%|ApI*)WKnqi)g)&g8PJ*CwX)3+!&)A3GJy5kv{TKiT! zfixFcat%VQg=#zPus!y#+v^V5m1^uk({H8Awsn9CX6~g;D9SpZd%-k3HmLL3Bu!N1 zEawjahxC53xiigR7sF!33ar;@)&4kLzCNA$&4K>mZ9gaYJg7qtbeNS$_cYIYAf8Mt5N)PzaUtg#g9#aofHMGrI z5Zr>LVPcHTxFcA)#_Gkp~ zUa}i+Y=nG<=+dHL69tKvi^Z<^=djmSCn%0iBr zA@!v{Bo?>DgT;pu>?KlGf(_qY&P=gZ8yE>w%*bkx-l0_UHT6G9jlI_0A|oSqm~E^0 zpeHUq`rems`Q^Q7Asu zS?MJ@rPnYUW>w_Y+E!~JneszAFOum~sfZN^(X@+#H!al3SvT50X~?ypxwZcB<&JoK zAwwWg+az~HV6@5uNqyMS0DmCUyaAcBssHUmzl{a$MoY&qoyvWr`MbxgN)%;Oz~QW) z$gVpGDyIqq)*JQxi3d#B#nA^7J_5H^NvPGEF}m}VbiHdng`k~nPSMGJuETCwa-q<( zqtqf?{_fH>PKe(5&G-BS>D0;B%=`5VE3Z_^ki4$ESeL_x#LPo!B!!K5>sfUc>yu%` ztu(Xn>Eee^2Wdws<}7XqTJ)U<;=-IW*{}y(|2O_WW7oQ6 z6-_+i{mJj(@&N)EdPz|p`kuQVhQHXxRl=*=3Dz=hijnM`DInmr z^oyd6crg7!eh(oycZU5yX({2R2va~Dls4Iq5gK4X* zqopBzE;gwjM2g3qr0VV&xJu%Pys#AaoX5UrLEsqhUN0Z6lGhMgH9vmLy)a>)lSWS6 zErkXu)G5S~#dv0rQQ)@kDN6J{uE?qv)`RFbJhXH8aRpl_ z-Y~j7`DvKXml>4|cPbc`W7YLq4tFA(Fd3aSYb=iI5h(B@GY>eW6}ldcB*@iO`G$wb z$Qz>g)KGK6Ao_|RS={f#A}4)B=WB{vk6#oQFT;nKM;ePGqW75Wu4$lV^HoDsJlgZ~ zkIqiBp~p7J{9Y8IK=i@>qLU-Q9h7gE#yHRI34*%0pPpv zu;O~Tl@6+e;!o_h=Y37##2JK~n04QcIJ-hQ+kV^DQW&kX<`T2M)EIE5I>$P6FgnSw ziw$aba@|^-;obi#TjF@F#oK7G;7MexA5$=SPP6$~Y0YdaEn{6(_i|_Jx(v5>OF{Wjk4z5km} zsmWfqu%3oq2-Sjv=d!=H$&@8LyU3HdUi~>`Z0{atpJKF+9p~@2c|noC+;tR^E-N?` zv)7GG%pYe~5+yr=Z}I*oPpf>A%#<40BR&=Gq<(cEs!$Mby^CODtjMB~uf(QVTJ_Ay;y zT>m=Rf4k&|%uV6}T%Yf81H?!m3STprR1b^t1shh`8ybb4#Y|mNtH)V!!sIPRiq|(> zB!yU%R=VZ|*~}b}+NEL+GYK3uky88JL`DUM$S=S3^hh7k0>xF8&}{v)%b~GlEN2(G zlym)<602H%-i2(YV_}RVJKQ1HShHRaHlrZS=qrXp%+StJ;gSh`; zjRPdJCChRs#siN~_|~JnqxBXI5shEUd4|CF-p@kk-|!Iws-@_QVN|$WTb$}q6 zb^h7F!0(nP*A!_gG{vfm4G1Z+SH*oFt4$Uy8%0!==o9I_|S5KbE4Uj<mZ}rz|2XIdS z*OLEHfvsDXQx6#lrIn7}5IYRHdoWZOIV5xtN?%)l|4vf8D&fO)=9cyq|KjaIr{^9O zY66RJ%3Cd{+4I9or@cAB+PT#k))|G@rDPh@R@&Min*Fz@XQ}a3lwZ?Ehvw^B=PI<$ zMVMGq66CKrLl}bXm%~FHw6GXO*Gkq>rS4rt(66>uEXQ4~r@bE*blZf))t<$MbIlfs zofm+8S>(|`iDQ$LB7?V-xx0g2eP({KhYU{6KmVD*mE2SOV~cCk-%vTl%!1|l)T`E7 z@c5Z^L2cesFl$U_1iLsKw6i3M}2X)VT-Cv9A zl`=+4mTO7lu0X|jTRoS+J_mS4!Vj#Z9M9!T;fZD|PXLOE#IlWkqQP{3(foJPd+~$} zK%sVHZ7q}tp7eB&@vB15Ama+p^tsY#7Ku;odq<IkJ5;z)wCakz-#|> zzmIa0d9-?FjgIDRv|@WM!nXW{O?u;eICZcaor^LS94;vbe6s8W)cx|r?07yCz&=Mt%fNe}tJuF@m-c!m9ompEpP=`(1n zI6X>O*VL_kC-DXCMgAW}Rm1Ju&W77_hoUZ=Lg*nh?*x48a}w+gG=_l!9z_{5pyLFA zN>YrGDQqoG%zkR;6wM>J&@57IjsehP0oSV|(7U&SP^8d5tm5K2$sIb}A9sO6*L08! z-G=d8pQ~r-6f8|I8I5>)O!Eanj>#Lp&U?)wHmNgIGKN?SKOMd6je9nf8Mf{eE>dol zepy#4RJC=xkrX5N59_!f=Ck6A_CDf8^^;Ob>C+lq#Nj`zT|7Ts5wnU7*3B?d!fbZ^VtiRPFZes3@U`AT5Ft5)#tQ&<#Tk4Wl4Pr;<`icQ*`342^U%N_U5JgCIHN5X0Ty zcfRwx=lt&db7sf0*Sq(A_gc?d>v@MVsFD~=+8su#lAS14ehl4F;v)}c;vYA%;dpS$5D@dnp~?*Y%u4_wi+ z00&wy?$0RbGv_V?R-to+SbmW}yO)Jn!lg{rk^AEz!sdot1|yG5qD{{~a0%8pg4AR9 z3#tW`1B4%Gtm2v@tSeratK#nO2t)37M8~!%+gYb++#yJp?-QhPg8|*WH51^&2aUI& zj!(x<=s&mP|9hG$Cz|}+3r^gRmVM>M=p-KgnuFqQ&z-{^@x4r?yzz^p@8WbPVhOW) z9q;K*2|D72`=j_R8z=W}zRmTLbU4iojl_o&%F-3=;QTS1H|rMB4d@RR@$V)+Bk&^A zCLK0?-f{GU=)L@n)M1lkEboK0st;`BJx88Vvs>>Ya3TxvUHidCnVS~2Ihl*%%^Hky zYn|f6l4@lOlU?RgqCcLOwhI$=b7UvZ-mx$FjoR_B9($#s_g>mmKaLI?(VO;$do?|Z zn2VfxQ!U|@lf*lO|m3T=LW7p}*ziiDiXoU1xTVyIv`K9gs{@@BoF z-;Av{!JHOEedj70i4B1aEXJr!xrm=HfM!b>{Bf)BIZK{~z{NKa0QX9OOdGK{k^GTD z1#|ANv43N{IN$$U?tW6)!xGXSVytI)pR)EcT+*azL5s%cjol?<+b;z2MVU$Su!_FS zPWmUka0aM6+oU|p87r5g!7iL<2&sazP@!*34qcHb1?{I)i|O>uM~`(h{0;*#5-Aj> zQoX~wgYrEV9+2bVqwa-k=Ccf16|2#PD`7ZFVgUEJ?)%t;sgc-vj`8;owYimM874I{4*fM_X0yaP$7=)$C?Xcnwad%E93`iDv63+1vytvqc9^Y(6 zuuWyKXE-~2XXS_3#TG&|bh{bC9q*)A0BhEs?U0dp609Gjd{psN9zDf>z9>CTw01SA zs}ZA2^VN}9$451$;2yGFRiJpD6)vBq&n()ZIzCepX8A@x#@*?-;H|=)z#jy&S4!g~ zCi+3KHFuAe7>W$5AMgjF=8su}Di6(^ayf|+G_$Myp}B*kG42Ht`RKI%xOpWzFN+$U z1Z`ngDs3&iVQu@FJ1hFvMy-7X87{}FsLH2eaM7VOCbm4I*h6%v0HcIKLcvR=R18GO6bF zQ41~>U*ACQ3EA@Dit;7t;2g6G{SLt$JY&TYJl=D=Bc40`B-&X(@@rI7HCEpr(+*!} z%6B^_aoX0{^k_Yrsv1=0qaQpjBHh~abi7wjmU!x z-u*?yKve%GNqu6^h+UvH6-8m&_a*A|_YKLbZ#jNTD}#pL-rb|z1kX1qSPE>I<~%+g zYB~jT@1S&z`pq1zZBV!-(V0qE*8R&skrr%g;D$6Q=z*ZTmszA;e|p75%mI!)ySJ(J zEl52OrQ|YIni=BgjCjMv`f(vY(814l$GvOox}!8}ajqEY$R(7pOs zi(%P27_DOwO~}TLHu)zeaf6<3Z=3j`nGb~TdWMf$p6Evo4}dudU#KpPVRC^|_yfx! zS>^ZAhe^?xclryKmqGYKycYfZuT3Q=1xQ#BcGe57XTz$y`(5onS7k2^^IXsMq4p!VV>hwfU|I?BTiJ*64v^vki^bX+B& z+s7mUZ3RTc{^MlCZ?ccq%o%d#eLy*X-rMI;xHClet*|EGT?oc#^e2iKx7mr871~QEjkNX>I^3I|PWyg5qT_3DI`6=lUT^;|L z);GKes^8o?QdC)r4MmEPybm#lk#*9 za)E2DELTAo$9AC77?sytdF8gD!SDjr-*E) zOMEKWmQRaEW?Mw~-@crih`u1%yWrV|{Px85jI_rG8Y4Khwa`)~uIA`!)3)%5Pmtod ziVfu=a+?M^1sgsXZzV+X%KUxx6cyF1Ch@uAu{6=BQGlwYvxQ3Ij8cH6QGMX*Oa}S$ zD(kG#FBXlvv+dZCe=0R}u+E3Ju+2jq2yEm(nV=N!jWv9y#8dXvmOj>KaBI`rB(>## zIC|z|@oa&`An%mvv1R2NV$zdepZ>1%y%4&5>s;nNPG$KQ`+I)$eR^a~@ z-2nW(+sSw!Aian1`PXtCKs?H*m^sPTLJ>m^m9?;j?9V%9p$kZcaiXJpR8nss-*=Gi z1qmn&O<)fVgU1Luc8~sL$=-6JJVlXiL$HMvsB3 zQ*Ayp0AwJEO}N%4>9g##Ti=m092b{gG2F76`F@fy&S)y%@vzt0(=IjxEq{&6vn`>< zZT*NJM=3gL$5n4Yl`#DIaPb1+mG1hqrs2-irSek|2#A3pB(&MNj`E2FmgdTKlF9g2 z-1pI~Y;|s}zXqvN;SU%mfzYk;+9uiE^ccwQDKA=7hl;9BNs*K_QIfN#28DGBD3WCp z+dVD$V}zLlJCSDJ{W~--cWR3ESkcoxcP%GuQK&fgM_+jT#l@GQQ=$}S6(@- zpQv7Zq4i>P)$6cve8^IJH1|8zv)ADZJ=TC}IWtvgYQs(b62(mWHWhzA@^Z*K`4;3q ze`6>L4!UfzX{!mFsj-#W&s`u5BPtYT2Bmt&rB8o(>FAN2K5!J*Xp69t$-?Q16uJ(Q z1#gWtWKUQY*_WPi*j&^HWOT0`-B9yczH>dTf0uxH3M?FCML>q#FvxCbE+W-%Vk=fD zcrADf66?N>kCGdKABSebr<%96Q@`-E$@x7vr0Fm}ujB~SSx4*CjfYp6#JdxMGlJm_ zf0j~#m&q3(_D+Dh19f%t(_?J^#ii{eZ=I7w5(Bj8GlhZ`v%JPs#b$4gszVf&{6=?D z8>f~|^y2DVKN*=vZpEBY-dtMBq=Y7sP=dt#7X;7*-g$jdL~9925(#Wq&lv3cQNbDe zqM!?E`O2F~={2ZB?OgTi+2rQ~SGTcku$GI39pHXXzmJIj9!v4|E$9P7>!@}iFD={( zK_YM4+*u;pa-P!M;>zmkA;hdngso?r^MqM}?ta4BszhA0Mn&KzpTkbe(;lBx51H!G z*~MS8?mqg>TbHW+Dge{?WmUe%*rv$H)P;tO7iyAVuK_pHLJm__i@j?yuWqqk;9D>l zug^?8kI!grr$6u2Lo02d=LFYlB_WLK2T3XPTufdv zN`#VlRyr&?Z^e44WM?wLh6Q=XU^^7S3ira7x{lZX~-P)_4hbm~DG&T<{BG+tb- z=J?U!8#~#A{>Y$^l^P0}O1I`^hPvg07Op)p|2EaHKw`X;*Aoz(5#~yr7Je=!n(0bk zCvP<9PBnNqP1UDYup^>XAXqf9>Y?&VlQ{EX?J0|@h4YGM*}&dCA_~3?cYVCgFm@I% zh{Wt&3GRf^#D<_Y+eIZc94~jD|5i#K+CT@~PQ~j2<-Pa*&U6CKQ!tP%xI0$!yWIMD zII4XgO&46FadR9-miEn>Y~2ReGl*A)7CshG0sQ(%ndFE;r9nO zV#erH#n&OlLG_%rbvDgwK|(!7EbF-^g1wT z&^OqaB1x^`79`#Dlp-NdWRs-yKJf>YAX&3uS!rpf3o)6}y(gcD(%EH=bLt3+F$}V2 zD>W(-8=)lbWzVJ_t=Vf$$E=OmIq9xYIj%&#v7T77;)3v8E2OTHwG+%1Tbpr{I@8CB zTJDHSe#t4gSB9ae@MrMaPh+>3#E+?h>CG_d>XH5qeVpfhM*?Z$EJhe!O9Rn)Opa1C zR0eBK*zq#HGCP?srahXmnzIvex{-ZJ`x?RMneXrLc8lG?M-;BxPmd7b*Ru*TgCBlEi#rUv~t=T}S4oTGUPwj69~ zgXd?I;4d|&8{4iKuEj(iB zdp1b(ZSQf4_)%7zdV{~eBfUd%K}o*9U6cLMXJhgrJO~(>W}jUrKQBvbNiTCj7oPJ3 zSJtJN+DPXbj;b$0!MO%mLtO1Gx>o7A@^W4F3wHPdnCU=#@*}8X+txipXyn|YuDfjc zpVF%NIVnrtW^wMyYpeYUJl!XA6%uDI7xm##c1VfUv{Sz=p5@dT*6bkd%h+AHCyrf2 zMLjk6in8t;XsHM&r23CeP4yQ}NBZ?^XC>!>p6jIV&RUCUE`XH5YNy5^Y@qh+Y^*iO z*_LZ5JOc`BsKu)!#65DSK@7Q2;d{=vv&GO53P7i=@>mp6oE66tq4;QCPWfKD*`$G^NP9#6`*zSL zcjwnU6EuVayN-8$@Y9!_o%sd~{3KMlsHiAzSeQld>K8N(yo%SBd~Ct>(B+r2L;N4r z#ytK(RYQpDOyf@OrV`TEK3VMP1Oz5=2ILtrN=8!uUZ-40rwevF{r}EH(Iww5)4##0 zB~}R`PfmG@36YfHYYbwd@SG3X@K@vhp^uN(R^aWqfhfRAK$L!!H9yDUES{cF$o#JdKB z5hnZ>zG&LL6!+s)r(bara!_~Ea4D+R^f|JnZ<${=JpgrwuR1i3zX?{3b@itF?)nfI zG+~u|d6jxXw~_oJ-Rb*@+aLPZ1rqZTH`66cjp>v^U)7})uM+ajlo*NSFRF1}KT7R* znCim%DSOKMLnH}~L8=Q?850Cg8KPcY3&n_t$3NA-Bu+@?hJP3GJBXJj$8)BOi{KgM zHQ|Vt2e^GtJ&I-{e1aDFLA#v$?RJ5Sf2xFaf<$cgn9}9eDC;KS$AKa@FcH*@_?Tp5 zhFFtP<+Z3%{#3}_JL{)#bk85%1MsWQ{kF{Sh~er4KSN`4)an?l_;c<^?WH`fIUxg(FyxzS`NX=xO#I1X~=8i9v0kFtsT#C;Le- z&meEwl(~iUoAxK%`rW&j_PLn8z{KW5^F)%|a8JOP%OLOYI zPjsYxVRhGy^q!SnYxYez)OS(WP?sxjm?WXWDfkV0fC|$OI~Jxs53bZQmhg&^*)^Rw zxyH1eam1U_AN4LOXV{TITTBqn&V`1s^c zWEWqItQNK;OxSPiskVvdtyz@4EsC9Fk7+2Ekmzu`mLu^F2c~@B0bTb)Mcp(b_X|IT zRuG{3`ONGY2?0q(jw|9pMxdk#5d08}*fnPdKkNT`bM=Gu^i`;D`qsunue-X^>fB4! zAyuZ~>W*AL?sze4f@11yKvTu^zvu zp{M2DPN62jei$4Zx6n`s+N7^_KEf(8V|DF)6ltsRSn2JL^!5qGnXZptVu>0M@rFI` z?Vd#`6dHDYj{JY-2(zXT)6ISv5}qT3 z&FZyS)Yz7`vT{BXLyXlq-}zm~9p?Gr=tp z8_4szqR5m`QDI2ZaYpqwbAdy+8jaj>OyYE6{zpA2k5S)iiE<(t7l4nqFmdSPVjR8x zy?>O^5O3|E^hoZpMbtjZ!;ED+(#z}y*TyG+x3;VW|5{@akSRWDCrJ+e9?MmS^S+=| zVi{*x=4Vjk3+b!=6*Pp9J9%A{P_NifPnXb{vHgC7slCm8N`>@Hx{&OwGP|`zLO>3M ze=jbpH$Ptfx!I}vn?Z%m3_T;?m|tljK_(00X!drV@do9A+O-$bAijO2<>t^$X6YAP zKaH_VwWvDd{UV3Far&w1cKqs7)}^b8u8ERDqF|~<$h*!DD0&j8wb%Q}v3fq?Y5sXC zN3K9F-z@F)lBCcm0AjSAEcogrmj{A6`Dv#D@9A3qkw9*wM4k%h@J|BOwfB~ozz;nO z#f0}el`qSU&i9h9b*ke04>Ronc6{rRwyLqKD{;YC(qi%HET-A3CYZ~wu+#8}FGTld-M2a$!T~w6 zyke>F?4NU!(lhvmNtn2Zf005uHO7qVs;1XgMOl=je-m?5{F$W!#@*NNuJo<;tU}VP zCgIMhStHc($$Is>pCPtI#aBLy>@0p0yarx!ic09}iw0%0+NN}-Q|%Q~d|cV}XCb22 zFn>p2ttqX{EuH43mMG2e5;B*gE=nzylHF>J4jb|c@Oy%ax*0>L*?vudm3r{O!iR@9 zbHvd1^q~n%#QXPgguQsa6?(JmLN9^WSRg+V9__8JqfsK8^@C7KcA_j;_~NU2=yxQ# z-(^(<{&#sM@gRp~*vbVaXk0Wn!40TF_d$L}vdu`EpP3N5nKE<=_a*OF@ z$ryUSvbp>Rv?BMD%Qhp@zg21Wuz}dX!^}Fvm=f`I;w>}VwXfErI{MmA?Ifgvj*MN_ zsl5#jA(DzGOK-MVoK09?EPC?}D5vn5{qW0Ntr?(;>GgkN8Yea*oxdqQW@cC3&BQ)V zY6Q(A3fCKz?H2xP5jNJLpU?lQ@?hb|Q7QkwnBijY$%_EYwjcla-!o_@|^6pt9 zRL^;RDwk}d%#P-|zg=ufAKxL<$=}^Yym>Bkh0HkGz&RFKhtC>FJYOavB<-w^Q{^l= zy|j9r@D3{)@(ME*-Hj_Nmf{rf@f;H`TH?x2_EcYyc%VpHxqWr3KLU3)b8d55T09!G zYfLw*0QnJKFCFgY_5q{82_%C0mx~=)+Pa>NoVj}G?+`YT+#rmKr%Rp7f3iO>=@5C$ zN-U6tRek}HmR2brc3*y$ zY-HI^YAyHRo=%%@It5m68OWQR=i?D}ey=j6=^P!8zD14x6R2Hy8g+|yL)h{YF@RMN zbdv6wVTMj+zLQCmEFg}#SuvG5=rBjHr~8?=+6FNngR!t`6UR8SKR7qB1e(GoQwOq) z7HZeheT(wCWtXMPLKA>Az;63uAmVVq@+;}DzR|;Hx~6a1b|!=?p5wb_J#Te~5V*a6 zx#IIgm|C6z?t*b9wrM@rs-xW+y6{-B!(IXkQ82<;iPmU$|8kr9;S4 zHd|6_-^_2jT(w+&6PeG=jRlBiX$E%C!q@nvD3lI~seWGWd1Y56+KE|Xfs`rpAyP#k z;29pU3VLuB?^-R3A6%}vzS0wiN4qM#B167K2L>hla?Sdz)Uu9pPn*1$Vv=X3It^X~ zp?6a15cW{k#iLhd(pi7Vuh~>XBl)Wh8YC|n{Z4SwAXobsTN{+J0SON$?Vp$>E+N3D<}{#5fjFP~-t?5)5Ayj@VwqUt1S7Hn`(FN)Yr9uaiKxIR!N+&D4J z+d8=#b;Rgl-b(r-;%oFHCdKjui>cR-`h4O}v1Vv2ZtMoG%x1{fbWuLvdv8HcVg}K2 z=t5`K}B4Ts+?hFNarch>v1t^{DX@J zsJXBmnFVicZ}Wb(i3&6X`d}?s{Zz0Z8}hP_hANU(a9MU~-!MYQ+QnF&a8-}a-^0nn z`g+m`+yhP{dQmgo98+g-AYU|9w@iPNHt1LdoABOZT@$*eFDL<~K)Q1CouwG-dF!thWJ3`up z+rWcYt7D$Cw2Yz9iD>f@^frMNcF+=SJw41d@iy|dzBB}+m_1)p=Y6~iJ=<3^SD5zj zuJGRWM%;CSkY~Ah{eBqLPcz6bMR37&6Me2k5wzUS>9pe?pzFASfFDNHu*ac_kDbGC znlp+S?yPkU#>bryOs9rd#YaxVu<5AdBQ3eTmAoC~H|0>~WrOXAcNmx1-v=KgkcAYZl{8N;;7Su!@E{@EzA$~AQckTLF~P90;6nzy6gEaEo}%O9HDx6yrd5OeA9S1zu2iXa?2woy4n z`_P;c;3nOIcu#pWH#z$Ep!PW;Q!8xAT|>?F4OsGvdAeGW%?7KR*A>ttpIBtdv@5Pt ztMT#uCRq^SPkWXw#aOF8)3+W6hR}PrAQso-#YL;mESRyhw!h)_xQuN1J0cwf8Yat< zM$-oyjFO3WH_$l6P;*=gt@-|PDw@jAufC`~&)>=AUy4U&R4Hw%pgljiQ_0-C4*VYD zcV9w{NbbIsTsN|>*_%PbGpZNpnSGtCy$E6a^YCtAxC}{MZaNNvh;9`pEAKH&(k*DD z1p{y?6JfCN+P9GC`5wfK4ZhY1H;BQ(i8+ua%~kLfe((AI_PU{Clf zjJ8Fl;ql|JV#~&w+|;jwrkAfUFa>trhbgO6SzqLDK}|7`wyq3LZ9sNckTCa8E5MfG z13bt_HvL=B4vq2U(p7lt*P!xKZ<-~^gz^VhyxXZQ-ni>4D`YxASNx3F#Mtj<81-in zLn>iK807g4Eo_K@2-X)h;5gl{`vQ4N>6mJpfhxturmtqDya$@ zicXfHLq(SO{O+?yBUl5&-fYoSd)M95*#nyocsSjHD&W_OzSjlUBl#G$N#yopU@xw& zG^XuyAzYV5K+z!{(CY?YB=nXC%{q|cilC$fsYn5;L?SE-*G&@*(VMt zWZZykS_q?+{=FrgPA3X^;D`v%R8c~!qZ8ZhnRdD{;lO7o)jp`NgZ(<`xu( zOtpj1Fj@f{H-L@K21zfH=;g4kV$nzjB>%HrcMfgvi8bTN;Kv-=&2|c^2{IJq*t-eM z@fVUFIA3$6zhNi{XEQ7a1v`Ex*S)@=>ob}QAIA<7+Y+PTeEi|S%d^B__ygLjcxK^c z=+0cP>vu!xB};~|eiU8dxi%Kn&?m_4IL$`d+zor%)ZoWI5g+<&cY1TI8a;p1722SB zv? zxK;uX?UPBsMMmWK{C$mo9nt*nGdlk7BZgQG#!11aX2)bVbQVkJDV;`_Cf%5lRuf>b zZJ%L|1&U2|fr#rrA)2lEd`{p0b3ke*^g#^}A!vgEqr}4gHcI_dG3>I!Js2n(ZvEFk zYSzFDdiwU5>^k`GfheckK;9@}0FW3;M!-(s)~ZSXvN1r5CvsgjG~JE@&CZr z^8WJqkDqmyE;RqZfBXlY;2(IQzbpjcgZ>4d@eh3aKk%ymHuv2>@QnX57k~#QwZHJ6 z{u}>afFYxQnO{L5W~G0I$bsqp%$fhasP&LIb*kKlp=z 7) { - count = 0; - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/gradient.htm b/examples/seneca/pimage/gradient.htm deleted file mode 100644 index bffc96132..000000000 --- a/examples/seneca/pimage/gradient.htm +++ /dev/null @@ -1,5 +0,0 @@ - - -

    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/gradient.pjs b/examples/seneca/pimage/gradient.pjs deleted file mode 100644 index e4952a578..000000000 --- a/examples/seneca/pimage/gradient.pjs +++ /dev/null @@ -1,63 +0,0 @@ -// constants -int Y_AXIS = 1; -int X_AXIS = 2; - -void setup(){ - size(200, 200); - - // create some gradients - // background - color b1 = color(190, 190, 190); - color b2 = color(20, 20, 20); - setGradient(0, 0, width, height, b1, b2, Y_AXIS); - //center squares - color c1 = color(255, 120, 0); - color c2 = color(10, 45, 255); - color c3 = color(10, 255, 15); - color c4 = color(125, 2, 140); - color c5 = color(255, 255, 0); - color c6 = color(25, 255, 200); - setGradient(25, 25, 75, 75, c1, c2, Y_AXIS); - setGradient(100, 25, 75, 75, c3, c4, X_AXIS); - setGradient(25, 100, 75, 75, c2, c5, X_AXIS); - setGradient(100, 100, 75, 75, c4, c6, Y_AXIS); -} - -void setGradient(int x, int y, float w, float h, color c1, color c2, int axis ){ - // calculate differences between color components - float deltaR = red(c2)-red(c1); - float deltaG = green(c2)-green(c1); - float deltaB = blue(c2)-blue(c1); - - // choose axis - if(axis == Y_AXIS){ - /*nested for loops set pixels - in a basic table structure */ - // column - for (int i=x; i<=(x+w); i++){ - // row - for (int j = y; j<=(y+h); j++){ - color c = color( - (red(c1)+(j-y)*(deltaR/h)), - (green(c1)+(j-y)*(deltaG/h)), - (blue(c1)+(j-y)*(deltaB/h)) - ); - set(i, j, c); - } - } - } - else if(axis == X_AXIS){ - // column - for (int i=y; i<=(y+h); i++){ - // row - for (int j = x; j<=(x+w); j++){ - color c = color( - (red(c1)+(j-x)*(deltaR/h)), - (green(c1)+(j-x)*(deltaG/h)), - (blue(c1)+(j-x)*(deltaB/h)) - ); - set(j, i, c); - } - } - } -} diff --git a/examples/seneca/pimage/green.jpg b/examples/seneca/pimage/green.jpg deleted file mode 100644 index e0b2a968201ff5290775dc5af8c1e97fa15e2141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21405 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 - -
    -/* @pjs preload="ref_string.jpg"; */
    -size(200,200);
    -PImage b;
    -b = loadImage("ref_string.jpg");
    -imageMode(CORNERS);
    -image(b, 10, 10, 60, 60);
    -imageMode(CORNER);
    -image(b, 35, 35, 50, 50);
    -
    -Original Processing example \ No newline at end of file diff --git a/examples/seneca/pimage/imagemode.pjs b/examples/seneca/pimage/imagemode.pjs deleted file mode 100644 index 1f591e1f2..000000000 --- a/examples/seneca/pimage/imagemode.pjs +++ /dev/null @@ -1,8 +0,0 @@ -/* @pjs preload="ref_string.jpg"; */ -size(200,200); -PImage b; -b = loadImage("ref_string.jpg"); -imageMode(CORNERS); -image(b, 10, 10, 60, 60); -imageMode(CORNER); -image(b, 35, 35, 50, 50); \ No newline at end of file diff --git a/examples/seneca/pimage/lake.jpg b/examples/seneca/pimage/lake.jpg deleted file mode 100644 index cd0b55d9419dd564c371f2009949ec2de0b9b90d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64474 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 - - - - - - - -

    -

    - Processing.js slideshow using loadImage with no caching

    -

    - Click on the images to advance to the next

    - -
    - - diff --git a/examples/seneca/pimage/loadimage.pjs b/examples/seneca/pimage/loadimage.pjs deleted file mode 100644 index c8c526f95..000000000 --- a/examples/seneca/pimage/loadimage.pjs +++ /dev/null @@ -1,37 +0,0 @@ -PImage[] slideshow = new PImage[8]; - -void setup(){ - size(492,286); - background(0); - slideshow[0] = loadImage("metamorphosis.jpg"); - slideshow[1] = loadImage("lake.jpg"); - slideshow[2] = loadImage("moon.jpg"); - slideshow[3] = loadImage("country.jpg"); - slideshow[4] = loadImage("string.jpg"); - slideshow[5] = loadImage("ocean.jpg"); - slideshow[6] = loadImage("winter.jpg"); - slideshow[7] = loadImage("castle.jpg"); - PFont font; - font = loadFont("Arial"); - textFont(font, 14); - fill(203, 21, 10); -} - -int i = 0; - -void draw(){ - if(i >= slideshow.length){ - i = 0; - } - if (frameCount % 50 == 0){ - background(0); - text(frameRate, 10,10); - } - if(slideshow[i].width > 0) { - image(slideshow[i],10,10); - } -}; - -void mouseClicked() { - i++; -} \ No newline at end of file diff --git a/examples/seneca/pimage/mask.jpg b/examples/seneca/pimage/mask.jpg deleted file mode 100644 index bbd1382544032ce6b99d0f2e8001fffe6593fb5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2825 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 - \ No newline at end of file diff --git a/examples/seneca/pimage/masktest.pjs b/examples/seneca/pimage/masktest.pjs deleted file mode 100644 index f8e9949bb..000000000 --- a/examples/seneca/pimage/masktest.pjs +++ /dev/null @@ -1,96 +0,0 @@ -/* @pjs preload="screenana.png"; */ -Bubble myBubble; - -void setup() { - size(200, 200); - frameRate(20); - noStroke(); - smooth(); - myBubble = new Bubble(); -} - -void draw() { - background(0); - myBubble.display(); -} - -/** - * User Object - * ----------------------------------- - */ -class Bubble { - float x; - float y; - int width = 75; - int height = 75; - int border = 15; - PImage avatar; - - /** - * Default constructor - * ----------------------------------- - */ - Bubble() { - this.x = 50; - this.y = 100; - - // --- Image URL for web testing - String imageUrl = "screenana.png"; - // --- Image URL for Processing testing - //String imageUrl = "http://i.slavitica.net/images/screenana.png"; - - this.avatar = loadImage(imageUrl); - if (this.avatar != null) { - this.setupAvatar(); - } - } - - /** - * Display the user bubble - * ----------------------------------- - */ - void display() { - - // Outer circle - fill(105, 35, 205, 150); - ellipse(this.x, this.y, this.width, this.height); - - // Inner circle - fill(105, 35, 205); - ellipse(this.x, this.y, this.width - this.border - 2, this.height - this.border - 2); - - this.drawAvatar(); - } - - /** - * Initial setup of user Avatar - * ----------------------------------- - */ - void setupAvatar() { - // Resize Image - if (this.avatar.height < this.avatar.width) { - this.avatar.resize(0, this.height - this.border); - } else { - this.avatar.resize(this.width - this.border, 0); - } - - PGraphics circMask = createGraphics(this.avatar.width, this.avatar.height); - circMask.beginDraw(); - circMask.background(0); - circMask.fill(255); - circMask.ellipse(this.avatar.width / 2, this.avatar.height / 2, this.width - this.border, this.height - this.border); - circMask.endDraw(); - this.avatar.mask(circMask.get()); - } - - /** - * Draw the user image - * ----------------------------------- - */ - void drawAvatar() { - if (this.avatar != null) { - imageMode(CENTER); - image(this.avatar, this.x, this.y); - } - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/metamorphosis.jpg b/examples/seneca/pimage/metamorphosis.jpg deleted file mode 100644 index e70482edcc039551f560a7d034f969e842f6d678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71896 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%0D}5X=$x% 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%0AlS}4km(LW2+_ykIRaQhk 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 I=>Gu!*&5pLf&c&j diff --git a/examples/seneca/pimage/moon.jpg b/examples/seneca/pimage/moon.jpg deleted file mode 100644 index 5d99bd748661d41f630685f48017109bc7976677..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65868 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 z 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 diff --git a/examples/seneca/pimage/ocean.jpg b/examples/seneca/pimage/ocean.jpg deleted file mode 100644 index 242dc18df460b9a24c48170fce662fb88fb5596d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63534 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 - -
    -
    -size(200,200);
    -background(0);
    -PImage img = createImage(128, 128, ARGB);
    -for (int i = 0; i < img.pixels.length; i++) {
    -  img.pixels[i] = 13369446 + (i % img.width * 2 * 16777216);
    -}
    -image(img, 10, 10);
    -for (int i = 0; i < img.pixels.length; i++) {
    -  img.pixels[i] = 2064181 + (i % img.width * 2 * 16777216);
    -}
    -img.updatePixels();
    -image(img, 62, 62);
    -
    diff --git a/examples/seneca/pimage/pimage.pjs b/examples/seneca/pimage/pimage.pjs deleted file mode 100644 index d11012b1c..000000000 --- a/examples/seneca/pimage/pimage.pjs +++ /dev/null @@ -1,12 +0,0 @@ -size(200,200); -background(0); -PImage img = createImage(128, 128, ARGB); -for (int i = 0; i < img.pixels.length; i++) { - img.pixels[i] = 13369446 + (i % img.width * 2 * 16777216); -} -image(img, 10, 10); -for (int i = 0; i < img.pixels.length; i++) { - img.pixels[i] = 2064181 + (i % img.width * 2 * 16777216); -} -img.updatePixels(); -image(img, 62, 62); diff --git a/examples/seneca/pimage/pimage0.htm b/examples/seneca/pimage/pimage0.htm deleted file mode 100644 index 800b5c88b..000000000 --- a/examples/seneca/pimage/pimage0.htm +++ /dev/null @@ -1,8 +0,0 @@ - - -
    -PImage b = new PImage();
    -println(b.width);
    -println(b.height);
    -println(b.format);
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimage0.pjs b/examples/seneca/pimage/pimage0.pjs deleted file mode 100644 index 87dd08624..000000000 --- a/examples/seneca/pimage/pimage0.pjs +++ /dev/null @@ -1,4 +0,0 @@ -PImage b = new PImage(); -println(b.width); -println(b.height); -println(b.format); \ No newline at end of file diff --git a/examples/seneca/pimage/pimage3d.htm b/examples/seneca/pimage/pimage3d.htm deleted file mode 100644 index dfa162227..000000000 --- a/examples/seneca/pimage/pimage3d.htm +++ /dev/null @@ -1,6 +0,0 @@ - - -
    -
    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimage3d.pjs b/examples/seneca/pimage/pimage3d.pjs deleted file mode 100644 index b18db1a13..000000000 --- a/examples/seneca/pimage/pimage3d.pjs +++ /dev/null @@ -1,22 +0,0 @@ -import processing.opengl.*; -PImage img; - -/* @pjs preload="berlin-1.jpg" */ - -void setup() { - size(640, 360, OPENGL); - img = loadImage("berlin-1.jpg"); - noStroke(); - img.get(0,0,10,10); -} - -void draw() { - translate(width / 2, height / 2); - beginShape(); - texture(img); - vertex(-100, -100, 0, 0, 0); - vertex(100, -100, 0, 400, 0); - vertex(100, 100, 0, 400, 400); - vertex(-100, 100, 0, 0, 400); - endShape(); -} diff --git a/examples/seneca/pimage/pimageblend.htm b/examples/seneca/pimage/pimageblend.htm deleted file mode 100644 index 1b9ac209c..000000000 --- a/examples/seneca/pimage/pimageblend.htm +++ /dev/null @@ -1,13 +0,0 @@ - -Blended in PJS using 2 pimages
    - -
    P5 expected output
    -
    -/* @pjs preload="country.jpg,lake.jpg"; */
    -size(472,266);
    -PImage img = loadImage("country.jpg");
    -PImage img2 = loadImage("lake.jpg");
    -// blend corner of lake onto country
    -img.blend(img2, 272, 138, 200, 128, 272, 138, 200, 128, HARD_LIGHT);
    -image(img, 0, 0);
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimageblend.pjs b/examples/seneca/pimage/pimageblend.pjs deleted file mode 100644 index dcd0bd5b8..000000000 --- a/examples/seneca/pimage/pimageblend.pjs +++ /dev/null @@ -1,7 +0,0 @@ -/* @pjs preload="country.jpg,lake.jpg"; */ -size(472,266); -PImage img = loadImage("country.jpg"); -PImage img2 = loadImage("lake.jpg"); -// blend corner of lake onto country -img.blend(img2, 272, 138, 200, 128, 272, 138, 200, 128, HARD_LIGHT); -image(img, 0, 0); \ No newline at end of file diff --git a/examples/seneca/pimage/pimageblendexpected.jpg b/examples/seneca/pimage/pimageblendexpected.jpg deleted file mode 100644 index eef32ba82641ee209c13bd9d8ae327bf36af22a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105736 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
    6DQ`q(N@JEO`M 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 -Copied in PJS using 2 pimages
    - -
    -/* @pjs preload="country.jpg,lake.jpg"; */
    -size(472,266);
    -PImage img = loadImage("country.jpg");
    -PImage img2 = loadImage("lake.jpg");
    -// copy corner of lake onto country
    -img.copy(img2, 272, 138, 200, 128, 272, 138, 200, 128);
    -image(img, 0, 0);
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimagecopy.pjs b/examples/seneca/pimage/pimagecopy.pjs deleted file mode 100644 index ed770673f..000000000 --- a/examples/seneca/pimage/pimagecopy.pjs +++ /dev/null @@ -1,7 +0,0 @@ -/* @pjs preload="country.jpg,lake.jpg"; */ -size(472,266); -PImage img = loadImage("country.jpg"); -PImage img2 = loadImage("lake.jpg"); -// copy corner of lake onto country -img.copy(img2, 272, 138, 200, 128, 272, 138, 200, 128); -image(img, 0, 0); \ No newline at end of file diff --git a/examples/seneca/pimage/pimagefilter.htm b/examples/seneca/pimage/pimagefilter.htm deleted file mode 100644 index f4064df0c..000000000 --- a/examples/seneca/pimage/pimagefilter.htm +++ /dev/null @@ -1,55 +0,0 @@ - - -
    -
    -/* @pjs preload="ref_string.jpg"; */
    -size(320,320);
    -
    -PImage a;
    -a = loadImage("ref_string.jpg");
    -a.filter(THRESHOLD);
    -image(a, 0, 0);
    -
    -PImage b;
    -b = loadImage("ref_string.jpg");
    -b.filter(GRAY);
    -image(b, 110, 0);
    -
    -PImage c;
    -c = loadImage("ref_string.jpg");
    -c.filter(INVERT);
    -image(c, 220, 0);
    -
    -PImage d;
    -d = loadImage("ref_string.jpg");
    -d.filter(POSTERIZE, 4);
    -image(d, 0, 110);
    -
    -PImage e;
    -e = loadImage("ref_string.jpg");
    -e.filter(DILATE);
    -image(e, 110, 110);
    -
    -PImage f;
    -f = loadImage("ref_string.jpg");
    -f.filter(ERODE);
    -image(f, 220, 110);
    -
    -PImage g;
    -g = loadImage("ref_string.jpg");
    -g.filter(OPAQUE);
    -image(g, 0, 220);
    -
    -PImage h;
    -h = loadImage("ref_string.jpg");
    -h.filter(GRAY);
    -h.filter(POSTERIZE, 6);
    -image(h, 110, 220);
    -
    -PImage i;
    -i = loadImage("ref_string.jpg");
    -i.filter(BLUR, 3);
    -image(i, 220, 220);
    -
    -println(millis());
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimagefilter.pjs b/examples/seneca/pimage/pimagefilter.pjs deleted file mode 100644 index bae8ba1b3..000000000 --- a/examples/seneca/pimage/pimagefilter.pjs +++ /dev/null @@ -1,50 +0,0 @@ -/* @pjs preload="ref_string.jpg"; */ -size(320,320); - -PImage a; -a = loadImage("ref_string.jpg"); -a.filter(THRESHOLD); -image(a, 0, 0); - -PImage b; -b = loadImage("ref_string.jpg"); -b.filter(GRAY); -image(b, 110, 0); - -PImage c; -c = loadImage("ref_string.jpg"); -c.filter(INVERT); -image(c, 220, 0); - -PImage d; -d = loadImage("ref_string.jpg"); -d.filter(POSTERIZE, 4); -image(d, 0, 110); - -PImage e; -e = loadImage("ref_string.jpg"); -e.filter(DILATE); -image(e, 110, 110); - -PImage f; -f = loadImage("ref_string.jpg"); -f.filter(ERODE); -image(f, 220, 110); - -PImage g; -g = loadImage("ref_string.jpg"); -g.filter(OPAQUE); -image(g, 0, 220); - -PImage h; -h = loadImage("ref_string.jpg"); -h.filter(GRAY); -h.filter(POSTERIZE, 6); -image(h, 110, 220); - -PImage i; -i = loadImage("ref_string.jpg"); -i.filter(BLUR, 3); -image(i, 220, 220); - -println(millis()); \ No newline at end of file diff --git a/examples/seneca/pimage/pimagemask.htm b/examples/seneca/pimage/pimagemask.htm deleted file mode 100644 index b08637d0d..000000000 --- a/examples/seneca/pimage/pimagemask.htm +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/examples/seneca/pimage/pimagemask.pjs b/examples/seneca/pimage/pimagemask.pjs deleted file mode 100644 index 9fb1e238a..000000000 --- a/examples/seneca/pimage/pimagemask.pjs +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Alpha Mask. - * - * Loads a "mask" for an image to specify the transparency - * in different parts of the image. The two images are blended - * together using the mask() method of PImage. - */ - -/* @pjs preload="test.jpg,mask.jpg"; */ -PImage img; -PImage maskImg; - -void setup() { - size(200, 200); - img = loadImage("test.jpg"); - maskImg = loadImage("mask.jpg"); - img.mask(maskImg); - imageMode(CENTER); -} - -void draw() { - background(map(mouseX+mouseY, 0, width+height, 0, 255)); - image(img, width/2, height/2); - image(img, mouseX, mouseY); -} diff --git a/examples/seneca/pimage/pimagepreloader.htm b/examples/seneca/pimage/pimagepreloader.htm deleted file mode 100644 index 7be7bd201..000000000 --- a/examples/seneca/pimage/pimagepreloader.htm +++ /dev/null @@ -1,8 +0,0 @@ - - -
    -/* @pjs preload="metamorphosis.jpg" */
    -size(472,266);
    -PImage img = loadImage("metamorphosis.jpg");
    -image(img,0,0);
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimagepreloader.pjs b/examples/seneca/pimage/pimagepreloader.pjs deleted file mode 100644 index c5d39203c..000000000 --- a/examples/seneca/pimage/pimagepreloader.pjs +++ /dev/null @@ -1,4 +0,0 @@ -/* @pjs preload="metamorphosis.jpg" */ -size(472,266); -PImage img = loadImage("metamorphosis.jpg"); -image(img,0,0); \ No newline at end of file diff --git a/examples/seneca/pimage/pimageset.htm b/examples/seneca/pimage/pimageset.htm deleted file mode 100644 index 0e9482056..000000000 --- a/examples/seneca/pimage/pimageset.htm +++ /dev/null @@ -1,32 +0,0 @@ - - -
    -size(300,340);
    -background(0);
    -PImage pi = createImage(256,256,ARGB);
    -int c = 255;
    -float range = 1;
    -for (int i = 0; i < pi.width; i++) {
    -  for(int j = 0; j < pi.height; j++) {
    -    pi.set(j, i, color(c-(range*j),c-(range*j),c));    
    -  }
    -  c--;
    -  range = c/255;
    -}
    -stroke(255);
    -rect(22,22,256,256);
    -image(pi,22,22);
    -
    -PFont font;
    -font = loadFont("Arial"); 
    -textFont(font, 16);
    -fill(255, 255, 255);
    -text("Select a color", 22,316);
    -
    -void mouseClicked() {
    -  color s = get(mouseX,mouseY);
    -  fill(s);
    -  stroke(255);
    -  rect(220,300,58,20);
    -}
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pimageset.pjs b/examples/seneca/pimage/pimageset.pjs deleted file mode 100644 index 4a3ae54fa..000000000 --- a/examples/seneca/pimage/pimageset.pjs +++ /dev/null @@ -1,28 +0,0 @@ -size(300,340); -background(0); -PImage pi = createImage(256,256,ARGB); -int c = 255; -float range = 1; -for (int i = 0; i < pi.width; i++) { - for(int j = 0; j < pi.height; j++) { - pi.set(j, i, color(c-(range*j),c-(range*j),c)); - } - c--; - range = c/255; -} -stroke(255); -rect(22,22,256,256); -image(pi,22,22); - -PFont font; -font = loadFont("Arial"); -textFont(font, 16); -fill(255, 255, 255); -text("Select a color", 22,316); - -void mouseClicked() { - color s = get(mouseX,mouseY); - fill(s); - stroke(255); - rect(220,300,58,20); -} \ No newline at end of file diff --git a/examples/seneca/pimage/pixels.htm b/examples/seneca/pimage/pixels.htm deleted file mode 100644 index 9b83632fa..000000000 --- a/examples/seneca/pimage/pixels.htm +++ /dev/null @@ -1,5 +0,0 @@ - - -
    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/pixels.pjs b/examples/seneca/pimage/pixels.pjs deleted file mode 100644 index 8a3d0af12..000000000 --- a/examples/seneca/pimage/pixels.pjs +++ /dev/null @@ -1,8 +0,0 @@ -size(100,100); -background(0); -color pink = color(255, 102, 204); -loadPixels(); -for (int i = 0; i < (width*height/2)-width/2; i++) { - pixels[i] = pink; -} -updatePixels(); \ No newline at end of file diff --git a/examples/seneca/pimage/red.jpg b/examples/seneca/pimage/red.jpg deleted file mode 100644 index 444b9bbe3d8a78fa0d7b78a26ef8d1fe93cfbbb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21418 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 Je3a(S{U1Bc3a|hG diff --git a/examples/seneca/pimage/ref_string.jpg b/examples/seneca/pimage/ref_string.jpg deleted file mode 100644 index 211a3e2c59e2d34db77f41ff86fdaf63a8a92336..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31013 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 P3}r8#m37_ - -
    -/* @pjs preload="http://zenit.senecac.on.ca/wiki/skins/common/images/OSS_155x155.png"; */
    -size(300,340);
    -background(0);
    -PImage cdot = loadImage("http://zenit.senecac.on.ca/wiki/skins/common/images/OSS_155x155.png");
    -image(cdot,10,10);
    -cdot.blend(cdot, 20, 20, 50, 50, 60, 60, 50, 50, DARKEST);
    -cdot.resize(cdot.width/2,0);
    -println("isRemote = " + cdot.isRemote);
    -
    diff --git a/examples/seneca/pimage/remoteimage.pjs b/examples/seneca/pimage/remoteimage.pjs deleted file mode 100644 index 8f3ca9c38..000000000 --- a/examples/seneca/pimage/remoteimage.pjs +++ /dev/null @@ -1,8 +0,0 @@ -/* @pjs preload="http://zenit.senecac.on.ca/wiki/skins/common/images/OSS_155x155.png"; */ -size(300,340); -background(0); -PImage cdot = loadImage("http://zenit.senecac.on.ca/wiki/skins/common/images/OSS_155x155.png"); -image(cdot,10,10); -cdot.blend(cdot, 20, 20, 50, 50, 60, 60, 50, 50, DARKEST); -cdot.resize(cdot.width/2,0); -println("isRemote = " + cdot.isRemote); \ No newline at end of file diff --git a/examples/seneca/pimage/requestimage.htm b/examples/seneca/pimage/requestimage.htm deleted file mode 100644 index 42980fd13..000000000 --- a/examples/seneca/pimage/requestimage.htm +++ /dev/null @@ -1,5 +0,0 @@ - -

    - Processing.js requestimage example with large file async loading

    - - diff --git a/examples/seneca/pimage/requestimage.pjs b/examples/seneca/pimage/requestimage.pjs deleted file mode 100644 index ac98b7408..000000000 --- a/examples/seneca/pimage/requestimage.pjs +++ /dev/null @@ -1,22 +0,0 @@ -PImage bigImage; - -void setup() { - frameRate(1); - bigImage = requestImage("ETapple.jpg"); - PFont font; - font = loadFont("Arial"); - textFont(font, 24); - fill(203, 21, 10); - text("Loading picture...", 500,300); -} - -void draw() { - if (bigImage.width == 0) { - // Image is not yet loaded - } else if (bigImage.width == -1) { - // This means an error occurred during image loading - } else { - // Image is ready to go, draw it - image(bigImage, 0, 0); - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/resize.htm b/examples/seneca/pimage/resize.htm deleted file mode 100644 index e50e6bb10..000000000 --- a/examples/seneca/pimage/resize.htm +++ /dev/null @@ -1,12 +0,0 @@ - - -
    -/* @pjs preload="ref_string.jpg" */
    -size(300,200);
    -PImage img = loadImage("ref_string.jpg");
    -image(img,0,0);
    -img.resize(50,0);
    -image(img, 0, 110);
    -img.resize(0, 150);
    -image(img, 110, 0);
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/resize.pjs b/examples/seneca/pimage/resize.pjs deleted file mode 100644 index 9a8e4d0f1..000000000 --- a/examples/seneca/pimage/resize.pjs +++ /dev/null @@ -1,8 +0,0 @@ -/* @pjs preload="ref_string.jpg" */ -size(300,200); -PImage img = loadImage("ref_string.jpg"); -image(img,0,0); -img.resize(50,0); -image(img, 0, 110); -img.resize(0, 150); -image(img, 110, 0); \ No newline at end of file diff --git a/examples/seneca/pimage/resizeloop.htm b/examples/seneca/pimage/resizeloop.htm deleted file mode 100644 index f279857be..000000000 --- a/examples/seneca/pimage/resizeloop.htm +++ /dev/null @@ -1,40 +0,0 @@ - - -
    -/* @pjs preload="ref_string.jpg" */
    -void setup() {
    -  size(200,200);
    -  PFont font;
    -  font = loadFont("Arial"); 
    -  textFont(font, 14);
    -  fill(32, 111, 175);
    -}
    -
    -PImage img = loadImage("ref_string.jpg");
    -int w = 100;
    -int h = 100;
    -bool up = true;
    -
    -void draw() {
    -  img.resize(w, h);
    -  background(255);
    -  image(img, 0, 0);
    -  text(int(FRAME_RATE) + "FPS", 10,15);
    -  
    -  if (w < 200 && up == true){
    -    w++;
    -    h++;
    -  } else if (w >= 200) {
    -    w = 199;
    -    h = 199;
    -    up = false;
    -  } else if (w < 50) {
    -    w = 50;
    -    h = 50;
    -    up = true;
    -  } else if (w < 200 && up == false) {
    -    w--;
    -    h--;
    -  } 
    -}
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/resizeloop.pjs b/examples/seneca/pimage/resizeloop.pjs deleted file mode 100644 index 6c8a071f5..000000000 --- a/examples/seneca/pimage/resizeloop.pjs +++ /dev/null @@ -1,36 +0,0 @@ -/* @PJS preload="ref_string.jpg" */ -void setup() { - size(200,200); - PFont font; - font = loadFont("Arial"); - textFont(font, 14); - fill(32, 111, 175); -} - -PImage img = loadImage("ref_string.jpg"); -int w = 100; -int h = 100; -bool up = true; - -void draw() { - img.resize(w, h); - background(255); - image(img, 0, 0); - text(int(frameRate) + "FPS", 10,15); - - if (w < 200 && up == true){ - w++; - h++; - } else if (w >= 200) { - w = 199; - h = 199; - up = false; - } else if (w < 50) { - w = 50; - h = 50; - up = true; - } else if (w < 200 && up == false) { - w--; - h--; - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/save.htm b/examples/seneca/pimage/save.htm deleted file mode 100644 index b7507dbba..000000000 --- a/examples/seneca/pimage/save.htm +++ /dev/null @@ -1,5 +0,0 @@ - - -
    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/save.pjs b/examples/seneca/pimage/save.pjs deleted file mode 100644 index 69a08b657..000000000 --- a/examples/seneca/pimage/save.pjs +++ /dev/null @@ -1,34 +0,0 @@ -/* @pjs preload="string.jpg"; */ - -void setup(){ - size(600, 400); //for internal size variables - stroke(0); //all lines will be black - frameRate(1); - PFont font; - font = loadFont("Arial"); - textFont(font, 18); -} - -int prsd = 0; -PImage a; // Declare variable "a" of type PImage -a = loadImage("string.jpg"); // Load the images into the program - -void draw(){ //this method is called by processingjs at the above frame rate - background(0); //draw a black background - image(a, 50, 50); - fill(128); - rect(0,0,130,30); - rect(425,0,175,30); - fill(255); - text("SAVE CANVAS", 5,23); - text("SAVE ONLY IMAGE", 432,23); -} - -void mousePressed(){ - if(mouseY < 30 && mouseX < 130){ - save(); - } - if(mouseY < 30 && mouseX > 430){ - a.save(); - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/screenana.png b/examples/seneca/pimage/screenana.png deleted file mode 100644 index b29a291d65509e32bbad80d5bd1a6effa37a3fb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72281 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 z 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

    -for (int i = 30; i < width-15; i++) {
    -  for(int j = 20; j < height-25; j++) {
    -    color c = color(254-j, 193-i, 0);
    -    set(i, j, c);
    -  }
    -}
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/set.pjs b/examples/seneca/pimage/set.pjs deleted file mode 100644 index be8670bad..000000000 --- a/examples/seneca/pimage/set.pjs +++ /dev/null @@ -1,6 +0,0 @@ -for (int i = 30; i < width-15; i++) { - for(int j = 20; j < height-25; j++) { - color c = color(254-j, 193-i, 0); - set(i, j, c); - } -} \ No newline at end of file diff --git a/examples/seneca/pimage/slideshow.css b/examples/seneca/pimage/slideshow.css deleted file mode 100644 index b1cc6994b..000000000 --- a/examples/seneca/pimage/slideshow.css +++ /dev/null @@ -1,21 +0,0 @@ -html, body -{ - margin: 0px; - font-family: Calibri, Cambria, Verdana; - font-size: 1.0em; - height: 100%; -} - -p -{ - margin-left: 10px; - margin-bottom:10px; - margin-top:10px; -} - -h1 -{ - font-family: Vivaldi; - font-size: 1.8em; - margin-left: 5px; -} \ No newline at end of file diff --git a/examples/seneca/pimage/slideshow.htm b/examples/seneca/pimage/slideshow.htm deleted file mode 100644 index d7fa49512..000000000 --- a/examples/seneca/pimage/slideshow.htm +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - -
    -

    - Processing.js slideshow using precaching

    -

    - Click on the images to advance to the next

    - -
    - - diff --git a/examples/seneca/pimage/slideshow.pjs b/examples/seneca/pimage/slideshow.pjs deleted file mode 100644 index 89452b37f..000000000 --- a/examples/seneca/pimage/slideshow.pjs +++ /dev/null @@ -1,25 +0,0 @@ -/* @pjs preload="metamorphosis.jpg,lake.jpg,moon.jpg,country.jpg,string.jpg,ocean.jpg,winter.jpg,castle.jpg"; */ -size(492,286); -background(0); -PImage[] slideshow = new PImage[8]; -slideshow[0] = loadImage("metamorphosis.jpg"); -slideshow[1] = loadImage("lake.jpg"); -slideshow[2] = loadImage("moon.jpg"); -slideshow[3] = loadImage("country.jpg"); -slideshow[4] = loadImage("string.jpg"); -slideshow[5] = loadImage("ocean.jpg"); -slideshow[6] = loadImage("winter.jpg"); -slideshow[7] = loadImage("castle.jpg"); -image(slideshow[0],10,10); -int i = 1; - -void mouseClicked() { - if(i < slideshow.length) { - image(slideshow[i],10,10); - i++; - } else { - i = 0; - image(slideshow[i],10,10); - i++; - } -} diff --git a/examples/seneca/pimage/spotlight.htm b/examples/seneca/pimage/spotlight.htm deleted file mode 100644 index c14cda7ed..000000000 --- a/examples/seneca/pimage/spotlight.htm +++ /dev/null @@ -1,4 +0,0 @@ - - -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/spotlight.pjs b/examples/seneca/pimage/spotlight.pjs deleted file mode 100644 index 305e258fd..000000000 --- a/examples/seneca/pimage/spotlight.pjs +++ /dev/null @@ -1,44 +0,0 @@ -/* @pjs preload="ref_string.jpg"; */ - -PImage img; - -void setup() { - size(200, 200); - frameRate(30); - img = loadImage("ref_string.jpg"); - img.resize(200,200); - img.loadPixels(); - // Only need to load the pixels[] array once, because we're only - // manipulating pixels[] inside draw(), not drawing shapes. - loadPixels(); -} - -void draw() { - for (int x = 0; x < img.width; x++) { - for (int y = 0; y < img.height; y++ ) { - // Calculate the 1D location from a 2D grid - int loc = x + y*img.width; - // Get the R,G,B values from image - float r,g,b; - r = red (img.pixels[loc]); - //g = green (img.pixels[loc]); - //b = blue (img.pixels[loc]); - // Calculate an amount to change brightness based on proximity to the mouse - float maxdist = 50;//dist(0,0,width,height); - float d = dist(x,y,mouseX,mouseY); - float adjustbrightness = 255*(maxdist-d)/maxdist; - r += adjustbrightness; - //g += adjustbrightness; - //b += adjustbrightness; - // Constrain RGB to make sure they are within 0-255 color range - r = constrain(r,0,255); - //g = constrain(g,0,255); - //b = constrain(b,0,255); - // Make a new color and set pixel in the window - //color c = color(r,g,b); - color c = color(r); - pixels[y*width + x] = c; - } - } - updatePixels(); -} diff --git a/examples/seneca/pimage/string.jpg b/examples/seneca/pimage/string.jpg deleted file mode 100644 index 240fc2b395c390a23861801b326ee15d0a4de6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104209 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%0D)dKh2OnXF&!NEy9A|Dt%g+uX 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

    `v5X}X^7yB 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 diff --git a/examples/seneca/pimage/test.jpg b/examples/seneca/pimage/test.jpg deleted file mode 100644 index 04d3fc56dbe69375852039e270fc3dd71f78a7d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2792 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 ZtNNJAWQ5P*>q*ITsqO}CngKf#{{@9F#LoZ# diff --git a/examples/seneca/pimage/texture.gif b/examples/seneca/pimage/texture.gif deleted file mode 100644 index 37b7eb03339f3cc52a386651dfc258b802982a30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmZ?wbhEHbSKCbtX%c9?7{I__4FEwN9C-i$ diff --git a/examples/seneca/pimage/thumbnail.htm b/examples/seneca/pimage/thumbnail.htm deleted file mode 100644 index 46cd3c2a8..000000000 --- a/examples/seneca/pimage/thumbnail.htm +++ /dev/null @@ -1,5 +0,0 @@ - - -

    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/thumbnail.pjs b/examples/seneca/pimage/thumbnail.pjs deleted file mode 100644 index ec73b62b5..000000000 --- a/examples/seneca/pimage/thumbnail.pjs +++ /dev/null @@ -1,84 +0,0 @@ -// originally written by Matt Schoen -// http://www.pagefoundry.net/matt/jquery/imgcrop.php -// updated by Daniel Hodgin to use only Processing.js - -/* @pjs preload="castle.jpg"; */ - -color c = color(128,128,128,128); - -void setup(){ - size(600, 600); //for internal size variables - frameRate(30); //set our draw rate - stroke(0); //all lines will be black - PFont font; - font = loadFont("Arial"); - textFont(font, 18); - fill(c); //all filled rects will be 50% gray with 50% transparency -} - -int xoffset = 0; //temp variable while we're dragging the mouse -int yoffset = 0; -int xpos = 0; //where to draw the image -int ypos = 0; -int startx, starty; -int prsd = 0; -PImage a; // Declare variable "a" of type PImage -a = loadImage("castle.jpg"); // Load the images into the program -double s = 1.0; -double r = 1.0; - -void draw(){ //this method is called by processingjs at the above frame rate - background(0); //draw a black background - //for testing purposes, to figure out the scaling - scale(s); - image(a, xpos - xoffset, ypos - yoffset); //draw scaled image - scale(1/s); - //for whatever reason, using "scale(1.0);" didn't reset the scale here. I have no idea why... - //draw ghosting frame - noStroke(); //we don't want borders on these rects - rect(0,0,600,100); - rect(0,500,600,100); - rect(0,100,100,400); - rect(500,100,100,400); - //draw the "button" regions - line(0,570,100,570); - line(100,570,100,600); - line(50,570,50,600); - line(560, 0, 560, 30); - line(560, 30, 600, 30); - text("-", 20,589); - text("+", 70,589); - text("GO", 565,23); -} - -void mousePressed(){ - if(mouseY> 570){ - if(mouseX> 50 && mouseX < 100){ - s += .1; - } - else if(mouseX < 50){ - s -= .1; - } - } - if(mouseY <30 && mouseX> 560){ - PImage img = createImage(400,400); - img = get(100,100,400,400); - link(img.toDataURL()); - } - prsd = 1; - startx = mouseX; - starty = mouseY; -} -void mouseDragged(){ - if(prsd> 0){ - xoffset = startx - mouseX; - yoffset = starty - mouseY; - } -} -void mouseReleased(){ - prsd = 0; - xpos -= xoffset; - ypos -= yoffset; - xoffset = 0; - yoffset = 0; -} diff --git a/examples/seneca/pimage/winter.jpg b/examples/seneca/pimage/winter.jpg deleted file mode 100644 index ff3533d50e9dd65c2591fd9df4abfa36b320b46b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70531 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 diff --git a/examples/seneca/pimage/wormhole.htm b/examples/seneca/pimage/wormhole.htm deleted file mode 100644 index 46d6112aa..000000000 --- a/examples/seneca/pimage/wormhole.htm +++ /dev/null @@ -1,5 +0,0 @@ - - -

    -
    -
    \ No newline at end of file diff --git a/examples/seneca/pimage/wormhole.pjs b/examples/seneca/pimage/wormhole.pjs deleted file mode 100644 index 84bb079a0..000000000 --- a/examples/seneca/pimage/wormhole.pjs +++ /dev/null @@ -1,58 +0,0 @@ -/* @pjs preload="wormhole.png,texture.gif"; */ -PImage wormImg, wormTexture; -int[] reg = new int[15]; - -void setup() { - size(640, 360); - noSmooth(); - - // Reference image used to transpose texture - wormImg = loadImage("wormhole.png"); - wormImg.resize(width, height); - wormImg.loadPixels(); - - // Texture image array - wormTexture = loadImage("texture.gif"); - wormTexture.loadPixels(); -} - -// Moves the bottom row of pixels to the top and shifting remaining pixels 1 over -void shiftup() { - for (int k = 0; k < 15; k++) { - reg[k] = wormTexture.pixels[k]; - } - - for (int k = 15; k < 225; k++) { - wormTexture.pixels[k-15] = wormTexture.pixels[k]; - } - for (int k = 0; k < 15; k++) { - wormTexture.pixels[k+210] = reg[k]; - } -} - -// Moves left column of pixels to the right and shifting remaining pixels 1 over -void shiftright() { - for(int k = 0; k < 15; k++) { - reg[k] = wormTexture.pixels[15*k+14]; - for(int i = 14;i > 0; i--) { - wormTexture.pixels[15*k+i] = wormTexture.pixels[15*k+(i-1)]; - } - wormTexture.pixels[15*k] = reg[k]; - } -} - -void draw() { - // Load pixel data array - loadPixels(); - - // Loop through all pixels - for (int i = 0; i < pixels.length; i++){ - // Map texture to wormhole in a bit shift blue - pixels[i] = wormTexture.pixels[constrain(wormImg.pixels[i] & 0xFF, 0, 224)]; - } - - updatePixels(); - - shiftright(); - shiftup(); -} \ No newline at end of file diff --git a/examples/seneca/pimage/wormhole.png b/examples/seneca/pimage/wormhole.png deleted file mode 100644 index e9f78ac3aa267c2df16de63e6d68747f13314f36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27132 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
    mMf%9p??m6d8MFi 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 diff --git a/examples/seneca/point/demos/corban/point-3d.html b/examples/seneca/point/demos/corban/point-3d.html deleted file mode 100644 index 4e91e9dd8..000000000 --- a/examples/seneca/point/demos/corban/point-3d.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/point/demos/corban/point-3d.pjs b/examples/seneca/point/demos/corban/point-3d.pjs deleted file mode 100644 index 632e51528..000000000 --- a/examples/seneca/point/demos/corban/point-3d.pjs +++ /dev/null @@ -1,88 +0,0 @@ -PVector loc; -PVector g = new PVector(0, 0.5); -ArrayList balls; - -int d = 10; - -class Ball { - int index; - PVector loc = new PVector(); - PVector vel = new PVector(); - PVector acc = new PVector(); - float bounceAcc; - - Ball(int index, float x, float y, float z) { - this.index = index; - loc.x = x; - loc.y = y; - loc.z = z; - } - - void render() { - if ( this.vel.y >= (height - d/2 - this.loc.y) ) { - bounceAcc = this.vel.y; - this.vel.y = height - d/2 - this.loc.y; - } else { - this.addAcc(g); - } - - this.loc.add(this.vel); - - stroke(round((float)(Math.sin(frameCount/30f) + 1) * 128), round((float)(Math.cos(frameCount/40f) + 1) * 128) + index, round((float)(Math.cos(frameCount/30f) + 1) * 128) + index/2); - - if ( this.loc.y >= height - d/2 ) { - this.vel = new PVector(); - this.addAcc(new PVector(0, -bounceAcc)); - } - } - - void addAcc(PVector v) { - this.acc.add(v); - this.vel.add(this.acc); - this.acc = new PVector(); - } -} - -Ball ball; - -int ballTotal = 25; - -float thetaInc = TWO_PI / ballTotal; -float t = 0f; -float x = 0f; -float z = 0f; - -float radius; - -void setup() { - size(600, 400, OPENGL); - - stroke(255); - - balls = new ArrayList(); - smooth(); - - radius = width; -} - -void draw() { - background(0); - camera(0, 0, 1200, 0, 0, 0, 0, 1, 0); - - if ( frameCount % 2 == 0 && balls.size() < ballTotal * 5 ) { - x = radius * (float) Math.cos(t); - z = radius * (float) Math.sin(t); - t += thetaInc; - - radius -= 2; - - balls.add(new Ball(balls.size()+1, x, -300, z)); - } - - for ( int i = balls.size()-1; i >= 0; i-- ) { - Ball ball = (Ball) balls.get(i); - - point(ball.loc.x, ball.loc.y, ball.loc.z); - ball.render(); - } -} diff --git a/examples/seneca/point/demos/psys/psys.html b/examples/seneca/point/demos/psys/psys.html deleted file mode 100644 index 350f7b3b2..000000000 --- a/examples/seneca/point/demos/psys/psys.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/point/demos/psys/psys.pjs b/examples/seneca/point/demos/psys/psys.pjs deleted file mode 100644 index adffae845..000000000 --- a/examples/seneca/point/demos/psys/psys.pjs +++ /dev/null @@ -1,123 +0,0 @@ -import processing.opengl.*; - -class Particle{ - float xPos, yPos, zPos; - float xVel, yVel, zVel; - float age; - float lifeTime; - float opacity; - float size; - - Particle(){ - xPos = 0; - yPos = 0; - zPos = 0; - xVel = 1.4; - yVel = 1.2; - zVel = 2.0; - age = 0; - lifeTime = 0; - opacity = 255; - size = 20; - } - - float getAge(){return age;} - float getLifeTime(){return lifeTime;} - float getX(){return xPos;} - float getY(){return yPos;} - float getZ(){return zPos;} - - void setAge(float a){age = a;} - - void setX(float x){xPos = x;} - void setY(float y){yPos = y;} - void setZ(float z){zPos = z;} - - void setXVelocity(float x){xVel = x;} - void setYVelocity(float y){yVel = y;} - void setZVelocity(float z){zVel = z;} - - void setLifeTime(float l){lifeTime = l;} - - void reset(){ - opacity = 255; - size = 20; - } - - void update(){ - age += 0.1; //fix - - yVel += 0.1; - - xPos += xVel; - yPos += yVel; - zPos += zVel; - - opacity = 255 - 250*(age/lifeTime); - size = 20 - 20*(age/lifeTime); - } - - void draw(){ - strokeWeight(size); - stroke(opacity-50, 0, 255-opacity,opacity/3); - point(xPos,yPos,zPos); - } -} - -int NUM_PARTICLES = 500; - -class ParticleSystem{ - ArrayList p; - - ParticleSystem(){ - p = new ArrayList(); - for(int i = 0; i < NUM_PARTICLES; i++){ - Particle particle = new Particle(); - p.add(particle); - resetParticle(i); - } - } - - void resetParticle(int i){ - Particle particle = (Particle)p.get(i); - particle.reset(); - particle.setX(mouseX); - particle.setY(mouseY); - particle.setZ(0); - particle.setXVelocity(random(0,2)); - particle.setYVelocity(random(0,2)); - particle.setLifeTime(random(1,15)); - particle.setAge(0); - } - - void update(){ - for(int i=0; i < NUM_PARTICLES; i++){ - Particle particle = (Particle)p.get(i); - particle.update(); - if(particle.getAge() > particle.getLifeTime()){ - resetParticle(i); - } - } - } - - void draw(){ - for(int i=0; i < NUM_PARTICLES; i++){ - Particle particle = (Particle)p.get(i); - particle.draw(); - } - } -} - -ParticleSystem psys; - -void setup(){ - size(500,500,OPENGL); - psys = new ParticleSystem(); -} - -void draw(){ - background(0); - stroke(255); - psys.update(); - psys.draw(); -} diff --git a/examples/seneca/point/demos/spiral/spiral.html b/examples/seneca/point/demos/spiral/spiral.html deleted file mode 100644 index b70ac463c..000000000 --- a/examples/seneca/point/demos/spiral/spiral.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Spiral Demo

    - -

    - -

    - -
    -// Test by Andor Salga
    -import processing.opengl.*;
    -
    -float r = 0;
    -
    -void setup(){
    -  size(200,200,OPENGL);
    -}
    -
    -void draw(){
    -  background(0);
    -  
    -  translate(width/2, height/2, 0);
    -  pushMatrix();
    -  rotateZ(r+=0.05);
    -  
    -  float f=50;
    -
    -  for(int i=0; i < 100; i++, f-= 0.5){
    -    strokeWeight(i/8);
    -    stroke(200,100,50, 250-i);
    -    point(sin(i)* f * 2, cos(i)*f*2, 0);
    -  }
    -  popMatrix();
    -
    -  pushMatrix();
    -  rotateZ(-r);
    -  f=50;
    -
    -  for(int i=0; i < 100; i++, f-= 0.5){
    -    strokeWeight(i/8);
    -    stroke(50,100,200, 250-i);
    -    point(cos(i)*f*2, sin(i)* f * 2, 0);
    -  }
    -  popMatrix();
    -}
    - - - diff --git a/examples/seneca/point/demos/spiral/spiral.pjs b/examples/seneca/point/demos/spiral/spiral.pjs deleted file mode 100644 index e7fec2b63..000000000 --- a/examples/seneca/point/demos/spiral/spiral.pjs +++ /dev/null @@ -1,35 +0,0 @@ -import processing.opengl.*; - -float r = 0; - -void setup(){ - size(200,200,OPENGL); -} - -void draw(){ - background(0); - - translate(width/2, height/2, 0); - pushMatrix(); - rotateZ(r+=0.05); - - float f=50; - - for(int i=0; i < 100; i++, f-= 0.5){ - strokeWeight(i/8); - stroke(250, 200, 50, 100-i); - point(sin(i)* f * 2, cos(i)*f*2, 0); - } - popMatrix(); - - pushMatrix(); - rotateZ(-r); - f=50; - - for(int i=0; i < 100; i++, f-= 0.5){ - strokeWeight(i/8); - stroke(50,100,200, 200-i); - point(cos(i)*f*2, sin(i)* f * 2, 0); - } - popMatrix(); -} \ No newline at end of file diff --git a/examples/seneca/printMatrix/print2DMatrixTest.html b/examples/seneca/printMatrix/print2DMatrixTest.html deleted file mode 100644 index 25f536f14..000000000 --- a/examples/seneca/printMatrix/print2DMatrixTest.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - Processing.js test of printMatrix() and print() for PMatrix2D - - - - -
    Processing.js test of printMatrix() and print() for PMatrix2D
    -

    - - -

    Test written by Matthew Lam

    -
    
    -		
    -	
    -
    \ No newline at end of file
    diff --git a/examples/seneca/printMatrix/print3DMatrixTest.html b/examples/seneca/printMatrix/print3DMatrixTest.html
    deleted file mode 100644
    index 412599447..000000000
    --- a/examples/seneca/printMatrix/print3DMatrixTest.html
    +++ /dev/null
    @@ -1,75 +0,0 @@
    - 
    -
    -	
    -		Processing.js test of printMatrix() and print() for PMatrix3D
    -		
    -		
    -	
    -	
    -		
    Processing.js test of printMatrix() and print() for PMatrix3D
    -

    - - -

    Test written by Matthew Lam

    -
    
    -		
    -	
    -
    \ No newline at end of file
    diff --git a/examples/seneca/processingInstances/instance1.pjs b/examples/seneca/processingInstances/instance1.pjs
    deleted file mode 100644
    index 6d64cc9d9..000000000
    --- a/examples/seneca/processingInstances/instance1.pjs
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -// 	Processing.js Example
    -
    -void setup() {
    -  size(200, 200);
    -}
    -
    -void draw() {
    -  background(#00ffff);
    -  ellipse(mouseX, mouseY, 55, 55);
    -  ellipse(Processing.instances[1].mouseX, Processing.instances[1].mouseY, 55, 55);
    -}
    -
    diff --git a/examples/seneca/processingInstances/instance2.pjs b/examples/seneca/processingInstances/instance2.pjs
    deleted file mode 100644
    index f1f5e01bb..000000000
    --- a/examples/seneca/processingInstances/instance2.pjs
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -// 	Processing.js Example
    -
    -void setup() {
    -  size(200, 200);
    -}
    -
    -void draw() {
    -  background(#00ff00);
    -  ellipse(mouseX, mouseY, 55, 55);
    -  ellipse(Processing.getInstanceById("blue").mouseX, Processing.getInstanceById("blue").mouseY, 55, 55);
    -}
    -
    diff --git a/examples/seneca/processingInstances/instances.html b/examples/seneca/processingInstances/instances.html
    deleted file mode 100644
    index c7f8eaaca..000000000
    --- a/examples/seneca/processingInstances/instances.html
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -
    -
    -
    -
    diff --git a/examples/seneca/rect/demos/bird demo/bird.html b/examples/seneca/rect/demos/bird demo/bird.html
    deleted file mode 100644
    index 925553627..000000000
    --- a/examples/seneca/rect/demos/bird demo/bird.html	
    +++ /dev/null
    @@ -1,80 +0,0 @@
    -
    -
    -  
    -    
    -    
    -   
    -
    -   
    -    

    Andor Salga

    -

    Bird demo for rect 3D

    - -

    This page demonstrates the Pjs rect() function.
    -
    -

    - -

    - -

    - -
    // Example from Processing.org
    -    
    -import processing.opengl.*;
    -
    -float ang = 0, ang2 = 0, ang3 = 0, ang4 = 0;
    -float px = 0, py = 0, pz = 0;
    -float flapSpeed = 0.2;
    -
    -void setup(){
    -  size(640,360,OPENGL);
    -  noStroke();
    -}
    -
    -void draw(){
    -  background(0);
    -  camera();
    -  lights();
    -
    -  // Flight
    -  px = sin(radians(ang3)) * 170;
    -  py = cos(radians(ang3)) * 300;
    -  pz = sin(radians(ang4)) * 500;
    -  translate(width/2 + px, height/2 + py, -700+pz);
    -  rotateX(sin(radians(ang2)) * 120);
    -  rotateY(sin(radians(ang2)) * 50);
    -  rotateZ(sin(radians(ang2)) * 65);
    -  
    -  // Body
    -  fill(153);
    -  box(20, 100, 20);
    -  
    -  // Left wing
    -  fill(204);
    -  pushMatrix();
    -  rotateY(sin(radians(ang)) * -20);
    -  rect(-75, -50, 75, 100);
    -  popMatrix();
    -
    -  // Right wing
    -  pushMatrix();
    -  rotateY(sin(radians(ang)) * 20);
    -  rect(0, -50, 75, 100);
    -  popMatrix();
    -
    -  // Wing flap
    -  ang += flapSpeed;
    -  if (ang > 3) {
    -    flapSpeed *= -1;
    -  } 
    -  if (ang < -3) {
    -    flapSpeed *= -1;
    -  }
    -
    -  // Increment angles
    -  ang2 += 0.01;
    -  ang3 += 2.0;
    -  ang4 += 0.75;
    -}
    - - - diff --git a/examples/seneca/rect/demos/bird demo/bird.pjs b/examples/seneca/rect/demos/bird demo/bird.pjs deleted file mode 100644 index 92cb6b03e..000000000 --- a/examples/seneca/rect/demos/bird demo/bird.pjs +++ /dev/null @@ -1,61 +0,0 @@ -// -// Example from Processing.org -// - -import processing.opengl.*; - -float ang = 0, ang2 = 0, ang3 = 0, ang4 = 0; -float px = 0, py = 0, pz = 0; -float flapSpeed = 0.2; - -void setup(){ - size(640,360,OPENGL); - noStroke(); -} - -void draw(){ - background(0); - camera(); - lights(); - - // Flight - px = sin(radians(ang3)) * 170; - py = cos(radians(ang3)) * 300; - pz = sin(radians(ang4)) * 500; - translate(width/2 + px, height/2 + py, -700+pz); - rotateX(sin(radians(ang2)) * 120); - rotateY(sin(radians(ang2)) * 50); - rotateZ(sin(radians(ang2)) * 65); - - // Body - fill(153); - box(20, 100, 20); - - - // Left wing - fill(204); - pushMatrix(); - rotateY(sin(radians(ang)) * -20); - rect(-75, -50, 75, 100); - popMatrix(); - - // Right wing - pushMatrix(); - rotateY(sin(radians(ang)) * 20); - rect(0, -50, 75, 100); - popMatrix(); - - // Wing flap - ang += flapSpeed; - if (ang > 3) { - flapSpeed *= -1; - } - if (ang < -3) { - flapSpeed *= -1; - } - - // Increment angles - ang2 += 0.01; - ang3 += 2.0; - ang4 += 0.75; -} diff --git a/examples/seneca/rect/demos/birds demo/birds.html b/examples/seneca/rect/demos/birds demo/birds.html deleted file mode 100644 index 6ee3f90e8..000000000 --- a/examples/seneca/rect/demos/birds demo/birds.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Birds demo

    - -

    This page demonstrates the Pjs rect() function.
    -
    -

    - -

    - -

    - -
    // Birds from Processing.org
    -
    -// Flock array
    -int birdCount = 200;
    -Bird[]birds = new Bird[birdCount];
    -float[]x = new float[birdCount];
    -float[]y = new float[birdCount];
    -float[]z = new float[birdCount];
    -float[]rx = new float[birdCount];
    -float[]ry = new float[birdCount];
    -float[]rz = new float[birdCount];
    -float[]spd = new float[birdCount];
    -float[]rot = new float[birdCount];
    -
    -void setup() {
    -  size(640, 360, P3D);
    -  noStroke();
    -
    -  // Initialize arrays with random values
    -  for (int i = 0; i < birdCount; i++){
    -    birds[i] = new Bird(random(-300, 300), random(-300, 300), 
    -               random(-500, -2500), random(5, 30), random(5, 30)); 
    -
    -    x[i] = random(20, 340);
    -    y[i] = random(30, 350);
    -    z[i] = random(1000, 4800);
    -    rx[i] = random(-160, 160);
    -    ry[i] = random(-55, 55);
    -    rz[i] = random(-20, 20);
    -    spd[i] = random(.1, 3.75);
    -    rot[i] = random(.025, .15);
    -  }
    -}
    -
    -void draw() {
    -  background(0);
    -  lights();
    -  for (int i = 0; i < birdCount; i++){
    -    birds[i].setFlight(x[i], y[i], z[i], rx[i], ry[i], rz[i]);
    -    birds[i].setWingSpeed(spd[i]);
    -    birds[i].setRotSpeed(rot[i]);
    -    birds[i].fly();
    -  }
    -}
    -
    -class Bird {
    -  
    -  // Properties
    -  float offsetX, offsetY, offsetZ;
    -  float w, h;
    -  int bodyFill;
    -  int wingFill;
    -  float ang = 0, ang2 = 0, ang3 = 0, ang4 = 0;
    -  float radiusX = 120, radiusY = 200, radiusZ = 700;
    -  float rotX = 15, rotY = 10, rotZ = 5;
    -  float flapSpeed = 0.4;
    -  float rotSpeed = 0.1;
    -
    -  // Constructors
    -  Bird(){
    -    (0, 0, 0, 60, 80);
    -  }
    -
    -  Bird(float offsetX, float offsetY, float offsetZ, 
    -  float w, float h){
    -    this.offsetX = offsetX;
    -    this.offsetY = offsetY;
    -    this.offsetZ = offsetZ;
    -    this.h = h;
    -    this.w = w;
    -    bodyFill = color(153);
    -    wingFill = color(204);
    -  }
    -
    -  void setFlight(float radiusX, float radiusY, float radiusZ, float rotX, float rotY, float rotZ){
    -    this.radiusX = radiusX;
    -    this.radiusY = radiusY;
    -    this.radiusZ = radiusZ;
    -
    -    this.rotX = rotX;
    -    this.rotY = rotY;
    -    this.rotZ = rotZ;
    -  }
    -
    -  void setWingSpeed(float flapSpeed){
    -    this.flapSpeed = flapSpeed;
    -  }
    -
    -  void setRotSpeed(float rotSpeed){
    -    this.rotSpeed = rotSpeed;
    -  }
    -
    -  void fly() {
    -    pushMatrix();
    -    float px, py, pz;
    -    
    -    // Flight
    -    px = sin(radians(ang3)) * radiusX;
    -    py = cos(radians(ang3)) * radiusY;
    -    pz = sin(radians(ang4)) * radiusZ;
    -    
    -    translate(width/2 + offsetX + px, height/2 + offsetY+py, -700 + offsetZ+pz);
    -
    -    rotateX(sin(radians(ang2)) * rotX);
    -    rotateY(sin(radians(ang2)) * rotY);
    -    rotateZ(sin(radians(ang2)) * rotZ);
    -
    -    // Body
    -    fill(bodyFill);
    -    box(w/5, h, w/5);
    -
    -    // Left wing
    -    fill(wingFill);
    -    pushMatrix();
    -    rotateY(sin(radians(ang)) * 20);
    -    rect(0, -h/2, w, h);
    -    popMatrix();
    -
    -    // Right wing
    -    pushMatrix();
    -    rotateY(sin(radians(ang)) * -20);
    -    rect(-w, -h/2, w, h);
    -    popMatrix();
    -
    -    // Wing flap
    -    ang += flapSpeed;
    -    if (ang > 3) {
    -      flapSpeed*=-1;
    -    } 
    -    if (ang < -3) {
    -      flapSpeed*=-1;
    -    }
    -
    -    // Ang's run trig functions
    -    ang2 += rotSpeed;
    -    ang3 += 1.25;
    -    ang4 += 0.55;
    -    popMatrix();
    -  }
    -}
    - - - diff --git a/examples/seneca/rect/demos/birds demo/birds.pjs b/examples/seneca/rect/demos/birds demo/birds.pjs deleted file mode 100644 index c19d18daa..000000000 --- a/examples/seneca/rect/demos/birds demo/birds.pjs +++ /dev/null @@ -1,146 +0,0 @@ -// -// Birds from Processing.org -// - -// Flock array -int birdCount = 200; -Bird[]birds = new Bird[birdCount]; -float[]x = new float[birdCount]; -float[]y = new float[birdCount]; -float[]z = new float[birdCount]; -float[]rx = new float[birdCount]; -float[]ry = new float[birdCount]; -float[]rz = new float[birdCount]; -float[]spd = new float[birdCount]; -float[]rot = new float[birdCount]; - -void setup() { - size(640, 360, P3D); - noStroke(); - - // Initialize arrays with random values - for (int i = 0; i < birdCount; i++){ - birds[i] = new Bird(random(-300, 300), random(-300, 300), - random(-500, -2500), random(5, 30), random(5, 30)); - - x[i] = random(20, 340); - y[i] = random(30, 350); - z[i] = random(1000, 4800); - rx[i] = random(-160, 160); - ry[i] = random(-55, 55); - rz[i] = random(-20, 20); - spd[i] = random(.1, 3.75); - rot[i] = random(.025, .15); - } -} - -void draw() { - background(0); - lights(); - for (int i = 0; i < birdCount; i++){ - birds[i].setFlight(x[i], y[i], z[i], rx[i], ry[i], rz[i]); - birds[i].setWingSpeed(spd[i]); - birds[i].setRotSpeed(rot[i]); - birds[i].fly(); - } -} - - - - - -class Bird { - - // Properties - float offsetX, offsetY, offsetZ; - float w, h; - int bodyFill; - int wingFill; - float ang = 0, ang2 = 0, ang3 = 0, ang4 = 0; - float radiusX = 120, radiusY = 200, radiusZ = 700; - float rotX = 15, rotY = 10, rotZ = 5; - float flapSpeed = 0.4; - float rotSpeed = 0.1; - - // Constructors -// Bird(){ - // (0, 0, 0, 60, 80); - // } - - Bird(float offsetX, float offsetY, float offsetZ, - float w, float h){ - this.offsetX = offsetX; - this.offsetY = offsetY; - this.offsetZ = offsetZ; - this.h = h; - this.w = w; - bodyFill = color(153); - wingFill = color(204); - } - - void setFlight(float radiusX, float radiusY, float radiusZ, float rotX, float rotY, float rotZ){ - this.radiusX = radiusX; - this.radiusY = radiusY; - this.radiusZ = radiusZ; - - this.rotX = rotX; - this.rotY = rotY; - this.rotZ = rotZ; - } - - void setWingSpeed(float flapSpeed){ - this.flapSpeed = flapSpeed; - } - - void setRotSpeed(float rotSpeed){ - this.rotSpeed = rotSpeed; - } - - void fly() { - pushMatrix(); - float px, py, pz; - - // Flight - px = sin(radians(ang3)) * radiusX; - py = cos(radians(ang3)) * radiusY; - pz = sin(radians(ang4)) * radiusZ; - - translate(width/2 + offsetX + px, height/2 + offsetY+py, -700 + offsetZ+pz); - - rotateX(sin(radians(ang2)) * rotX); - rotateY(sin(radians(ang2)) * rotY); - rotateZ(sin(radians(ang2)) * rotZ); - - // Body - fill(bodyFill); - box(w/5, h, w/5); - - // Left wing - fill(wingFill); - pushMatrix(); - rotateY(sin(radians(ang)) * 20); - rect(0, -h/2, w, h); - popMatrix(); - - // Right wing - pushMatrix(); - rotateY(sin(radians(ang)) * -20); - rect(-w, -h/2, w, h); - popMatrix(); - - // Wing flap - ang += flapSpeed; - if (ang > 3) { - flapSpeed*=-1; - } - if (ang < -3) { - flapSpeed*=-1; - } - - // Ang's run trig functions - ang2 += rotSpeed; - ang3 += 1.25; - ang4 += 0.55; - popMatrix(); - } -} diff --git a/examples/seneca/rect/demos/blinds/blinds.html b/examples/seneca/rect/demos/blinds/blinds.html deleted file mode 100644 index 4aefc54af..000000000 --- a/examples/seneca/rect/demos/blinds/blinds.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Blinds demo

    - -

    This page demonstrates the Pjs rect() function.

    - -

    - -

    - -
    // Demo by Andor Salga
    -import processing.opengl.*;
    -
    -int frame = 0;
    -float[] list = new float[20];
    -float g = 0;
    -float w = 10;
    -
    -// larger is higher
    -float windSpeed = 1;
    -float windStr = 190;
    -float varyance = 1.5;
    -
    -void setup(){
    -  size(400,400, OPENGL);
    -  r();
    -}
    -
    -void r(){
    -  for(int i=0; i < 20; i++){
    -    list[i] += random(-varyance, varyance);
    -  }
    -}
    -
    -void draw(){
    -
    -background(240);
    -translate(10, 20, 0);
    -
    -pushMatrix();
    -fill(140,120,0);
    -
    -translate(50,90,-90);
    -scale(4,4,4);
    -rotateX(-0.4);
    -
    -box(20,1,20);// seat
    -
    -pushMatrix();
    -translate(8,10,8);
    -box(2,20,2); 
    -popMatrix();
    -
    -pushMatrix();
    -translate(-8,10,-8);
    -box(2,20,2); 
    -popMatrix();
    -
    -pushMatrix();
    -translate(8,10,-8);
    -box(2,20,2); 
    -popMatrix();
    -
    -pushMatrix();
    -translate(-8,10,8);
    -box(2,20,2); 
    -popMatrix();
    -
    -popMatrix();
    -
    -pushMatrix();
    -translate(50,20,-40);
    -fill(0,0,255,30);
    -
    -popMatrix();
    -
    -pushMatrix();
    -translate(width/2, 30+height/2, 90);
    -pointLight(50, 150, 0, 0, 0 ,0);
    -popMatrix();
    -
    -stroke(0);
    -strokeWeight(1);
    -
    -
    -directionalLight(200,50,0, 0,0, -1);
    -
    -for(int i = 0; i < 20; i++){
    -  rotateX(sin(frameCount/50)/windStr);
    -  pushMatrix();
    -
    -  int li = (int)list[i];
    -
    -  rotateX(sin((frameCount + li)/20)/30);
    -  fill(128,120,128,150);
    -  rect(i*10, 10, 10, 190);
    -  popMatrix();
    -}
    -
    -if(frame%2000 == 0){
    -  r();
    -  g+=random(-1,1);
    -  w +=random(-2,2);
    -}
    -
    -if(frame%300 == 0){
    -  windStr += random(-1,1);
    -}
    -}
    - - - diff --git a/examples/seneca/rect/demos/blinds/blinds.pjs b/examples/seneca/rect/demos/blinds/blinds.pjs deleted file mode 100644 index 1b3abbb55..000000000 --- a/examples/seneca/rect/demos/blinds/blinds.pjs +++ /dev/null @@ -1,98 +0,0 @@ -import processing.opengl.*; - -int frame = 0; -float[] list = new float[20]; -float g = 0; -float w = 10; - -// larger is higher -float windSpeed = 1; -float windStr = 190; -float varyance = 1.5; - -void setup(){ - size(400,240, OPENGL); - r(); -} - -void r(){ - for(int i=0; i < 20; i++){ - list[i] += random(-varyance, varyance); - } -} - -void draw(){ - -background(240); -translate(10, 20, 0); - -pushMatrix(); -fill(140,120,0); - -translate(50,90,-90); -scale(4,4,4); -rotateX(-0.4); - -box(20,1,20);// seat - -pushMatrix(); -translate(8,10,8); -box(2,20,2); -popMatrix(); - -pushMatrix(); -translate(-8,10,-8); -box(2,20,2); -popMatrix(); - -pushMatrix(); -translate(8,10,-8); -box(2,20,2); -popMatrix(); - -pushMatrix(); -translate(-8,10,8); -box(2,20,2); -popMatrix(); - -popMatrix(); - -pushMatrix(); -translate(50,20,-40); -fill(0,0,255,30); - -popMatrix(); - -pushMatrix(); -translate(width/2, 30+height/2, 90); -pointLight(50, 150, 0, 0, 0 ,0); -popMatrix(); - -stroke(0); -strokeWeight(1); - - -directionalLight(200,50,0, 0,0, -1); - -for(int i = 0; i < 20; i++){ - rotateX(sin(frameCount/50)/windStr); - pushMatrix(); - - int li = (int)list[i]; - - rotateX(sin((frameCount + li)/20)/30); - fill(128,120,128,150); - rect(i*10, 10, 10, 190); - popMatrix(); -} - -if(frame%2000 == 0){ - r(); - g+=random(-1,1); - w +=random(-2,2); -} - -if(frame%300 == 0){ - windStr += random(-1,1); -} -} diff --git a/examples/seneca/rect/tests/test1/p5_result.jpg b/examples/seneca/rect/tests/test1/p5_result.jpg deleted file mode 100644 index 57dbbf8c0d5de99c0941286b00c60cbe49d1ede4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21383 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�nRCJbQ$$DeaN7$&dj z*NnKDV?zGl2?bp|$mfX?aSgiB0)4S)`d)xMD?)wiEZE6HS^6=}@v=45H!e=R%egMd zz4gvUO@qQnKQR{i1Ed>%{@^-%X8!u&aQjyvP3kpW9W_Z>y;4Tp?pJdB5%etHHcQjr zPEIZ@A?~egyDS~R=K=Jq;Y%)@lwp#A0|h3tSs~rs{$x4P)_o^tR(ZLvPk!5n0+n=i zWiGp)dj0bneUR?WxYeLc-^6&lG@r0Az1pCfb+SffgkgWMGC<{IY9M;s_*#g~*~ew0L659 zw`&$qm3XS0=SE36R+f+5E-(|~$x6aZC(=RG(tHXg4`PU#WOIfP_>cppSfwHcd!^${ zLBvW|Z~^YC08Q=$H2{KW_okv!^ZJeCzfmxDqzBidH;wAlK>6e&A!l@d*yw!HQ5t6e7p!e+SUwU z=mCtw=ed#zqF>v_PTJZd=j~!xp=ev0G5QKd$o8V2dKrBW3E# zr_3}oxdVtpi_rOB^F8DRqEi8Y=#1CDG~5NODJS@fEw39WtrYn9>>_wR@ju3bVt)RA E0D&cM+5i9m diff --git a/examples/seneca/rect/tests/test1/rect.html b/examples/seneca/rect/tests/test1/rect.html deleted file mode 100644 index 4fa261760..000000000 --- a/examples/seneca/rect/tests/test1/rect.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for rect() 3D in Pjs

    - - -

    - - -

    - -
    // Test by Andor Salga
    -import processing.opengl.*;
    -
    -void setup()
    -{
    -  size(400, 400, OPENGL);
    -
    -  noLights();
    -  rect(10, 10, 50, 50);
    -
    -  noStroke();
    -  rect(70, 10, 50, 50);
    -
    -  stroke(255, 0, 0);
    -  rect(130, 10, 50, 50);
    -
    -  noFill();
    -  rect(190, 10, 50, 50);
    -
    -  stroke(0);
    -  fill(0, 255, 0);
    -  rect(250, 10, 50, 50);
    -
    -  stroke(0);
    -  fill(0, 255, 0);
    -  rect(250, 10, 50, 50);
    -  
    -  fill(255, 255, 255);
    -  rect(310, 10, 50, 50);
    -
    -  strokeWeight(1);
    -  pushMatrix();
    -  rotateZ(PI/4);
    -  fill(0, 0, 0);
    -  rect(310, 20, 50, 50);
    -  popMatrix();
    -
    -  fill(255,255,0);
    -  strokeWeight(3);
    -  rect(10, 70, 50, 50 );
    -
    -  noFill();
    -  noStroke();
    -  rect(0, 10, 50, 50);
    -  
    -  stroke(0, 0, 255);
    -  fill(0, 0, 100);
    -  rect(70, 70, 50, 50);
    -  
    -  noFill();
    -  pushMatrix();
    -  rotateY(PI/8.0);
    -  rect(190, 50, 50, 50);
    -  popMatrix();
    -  
    -  pushMatrix();
    -  noStroke();
    -  scale(0.95);
    -  fill(0, 128, 0);
    -  rect(250, 70, 50, 50);
    -  popMatrix();
    -  
    -  pushMatrix();
    -  strokeWeight(1);
    -  stroke(255,255,255);
    -  scale(1.1);
    -  fill(0,128,128);
    -  rect(310, 70, 50, 50);
    -  popMatrix();
    -  
    -  pushMatrix();
    -  stroke(128, 0, 0);
    -  fill(0,255,128);
    -  rotateX(-PI/8.0);
    -  rect(10, 130, 50, 50);
    -  popMatrix();
    -  
    -  fill(255, 255, 255);
    -  stroke(0, 0, 0);
    -  rect(width-50, height-50, 30,30);
    -
    -  fill(255, 255, 255);
    -  stroke(250, 0, 0, 128);
    -
    -  fill(0, 255 ,0);
    -  rect(10, 200, 30,30);
    -  
    -  fill(128, 255, 0);
    -  rect(80, 200, 60, 60);
    -  
    -  pushMatrix();
    -  translate(0, 0, 5);
    -  fill(128, 0, 128);
    -  rect(50, 100, 60, 60);
    -  popMatrix();
    -}
    - - - diff --git a/examples/seneca/rect/tests/test1/rect.pjs b/examples/seneca/rect/tests/test1/rect.pjs deleted file mode 100644 index f6c825bfc..000000000 --- a/examples/seneca/rect/tests/test1/rect.pjs +++ /dev/null @@ -1,95 +0,0 @@ -import processing.opengl.*; - -void setup() -{ - size(400, 400, OPENGL); - - noLights(); - rect(10, 10, 50, 50); - - noStroke(); - rect(70, 10, 50, 50); - - stroke(255, 0, 0); - rect(130, 10, 50, 50); - - noFill(); - rect(190, 10, 50, 50); - - stroke(0); - fill(0, 255, 0); - rect(250, 10, 50, 50); - - stroke(0); - fill(0, 255, 0); - rect(250, 10, 50, 50); - - fill(255, 255, 255); - rect(310, 10, 50, 50); - - strokeWeight(1); - pushMatrix(); - rotateZ(PI/4); - fill(0, 0, 0); - rect(310, 20, 50, 50); - popMatrix(); - - fill(255,255,0); - strokeWeight(3); - rect(10, 70, 50, 50 ); - - noFill(); - noStroke(); - rect(0, 10, 50, 50); - - stroke(0, 0, 255); - fill(0, 0, 100); - rect(70, 70, 50, 50); - - noFill(); - pushMatrix(); - rotateY(PI/8.0); - rect(190, 50, 50, 50); - popMatrix(); - - pushMatrix(); - noStroke(); - scale(0.95); - fill(0, 128, 0); - rect(250, 70, 50, 50); - popMatrix(); - - pushMatrix(); - strokeWeight(1); - stroke(255,255,255); - scale(1.1); - fill(0,128,128); - rect(310, 70, 50, 50); - popMatrix(); - - pushMatrix(); - stroke(128, 0, 0); - fill(0,255,128); - rotateX(-PI/8.0); - rect(10, 130, 50, 50); - popMatrix(); - - fill(255, 255, 255); - stroke(0, 0, 0); - rect(width-50, height-50, 30,30); - - fill(255, 255, 255); - stroke(250, 0, 0, 128); - - fill(0, 255 ,0); - rect(10, 200, 30,30); - - fill(128, 255, 0); - rect(80, 200, 60, 60); - - pushMatrix(); - translate(0, 0, 5); - fill(128, 0, 128); - rect(50, 100, 60, 60); - popMatrix(); -} \ No newline at end of file diff --git a/examples/seneca/rect/tests/test2/p5_result.jpg b/examples/seneca/rect/tests/test2/p5_result.jpg deleted file mode 100644 index 8b94e9166ac41411eb401e90208fff9fbf3cc01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104197 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

    *h9ry{Ec zfZQ62FVgNERqIupz%vYVw4n-iQ*l5?Di-w4Wl&}r@k&~d`(Ao2s_13Ue&{Zy*?ii^ za|T~oxx#=xe5>RvHeT1-JApB=S03Jx?XY}c%Ky)WOWJ1PE};L@{)agVdkPi5!dk{T3o;*+E7?0(F^v*-G!%n2pzU?62bTsO zPcA{Y`*3=>+`BCk`bO0>3CV+L&F!--&i-|;^Li#~6PX6J+|@g;B1%k>f`LG=USyz39I#|e8W9pvNb8$`Gl&8(U#@xFu$&xCr1H=4br;eNp)7i&vIjc`;q8dxmTNqYj2Z+wJ6lFCxKTIK z-%-N}+v&jrVLMstfnU(AAU`6cAm2V4L*j=AfJ{f8 z9r8MSKn$qFH^9h3k%;|j0`Sv4m`QlINHPe2%=6Cv;WI_Nv!dzcyOYQf(m45ojY=A0zd@B7Dz6EfQRojwsa9FSCe79+hLvq z@1GYR`g*a5s1geT22SvV49(yX&J$JM1tt{!Qw*pVKx8#KuU^o74AcvH;N6xIVhH~b zF92Qw=^z5S5-2g|wF};4fY8eVJX>8fr);!^dl-(>EKOg4qpY!YCm!~-4w&UTMsh=%|THhR^@-fRm zjWfPN5wmjme)*ZLE-~+(T+=+Wxt(q{cI$=dlKiSDac;WJhvMkM&8MBRMr#aDKW~P2 zHV8Y`8o-${`SvoZo10` z$CFZ+Cs?Jqam?b4w>ir{pZD63aV2MrF!Z5+l6DVSVS@JeR?)?=hTbItdroXsyV{Dj z`N2eEy5n035)Pj`UVy&OzD`asV;3fL>YVkl+to5KStxnB*_&4275{!+|MQ!=re|V$ zNK{tps@Lq8ov|#Hn)vml61sfav-FE$O3yQceH9~Kw{QpWwAVKC^JkiuTv(? z`+gRpuStu@*`K9Z)#Bu>Wrs0B4exF=QiSGj{9qMX=VvdApFzW?Vl=CS=VfmX*!Q@Y zcMr_2Ss$Z3GV82ORkXre(sI*`??jRyH^}BU{^h}Xb0%P*4o)=2M;0uA)Iq55X%VXZ zuh>vr+*sP2H$_|cl+J`B9p-V5^6NYJCy&5k&=D5F-fWL!*6WRv*a>L4neZ;;KQFTA z-z#$r0JsbZm=gMymN#?6M1!txV%z&jKW{>op@nGf)8c2!AQK?=SnK`Jv_?<@o}4GR z%sBlnlCEunX}}>H%&2V)I*qOnYKMe5YYOpn$a`K5f@X9NDn}Y=r;d?kl=WHb8b|0O z3H+DBbYZ5DUJknTHqfmv@DrfuY&Snka3o?Vb!ztA z0!-9aCWb(#&M^GgbchfqCepdjEZ}+09Yf1r6LRTed*}8*V*E~sHbr0fkg~mhBAmpA z+qW-dobV;e?0g$`Sg&AB$Rc)ig^unV*wzYEu|(tXhae?`$mvm^o#RQ1BI2@ko?k@o z&QZU_{j_k}*R&H&zdVHlbE zehxq5L717y5yCs2)OgBoEXbKbWB=?Cd*?mkP%jM0__JTjm=TR3`m2KyO(FWTH*JDQ zf8}fNdRi>HU}X*ReFzbdspNaaP?n8|m-detM70DMLG+HmGp87X2s1x{2rTit>_|Al z5o_UF^D~J4?1N*Q@fWB{0`0k7f;H@nDrC`N&`4fC0A3;$#fUysa3Bzzwf-rQh64?K3rl0zauw2 zCQOO^NNA;a<#j9f>3x#SK9e@Tw$)Pmrd}D~*4rEHK!)(K&f*-qrrydJZFb-_e*u!@ zZvckH1@-KI?kIbw|Fjkq8{#BC39Lf-G1^;d@+`_}d9_m|Ix2SUn@SAUY)btlMb~G~ za*pi3OdaPyt{fG8tgVza98wjc3?Ivy-53hcLwdm&MaMhCc@!?N<=a_Dl*`*um%_Hf zBY0v$O{;$G-Y2C^ncZXgF|6N8KF4njDn%p7w-%NgNg-DPv<|=Et)q{WcE>MX?!`)< zDRCz(BzEnTCQ0tI&AytUIn@!CnfZKb?^<)P4GSo;EZPIJC>71ViAAnFRGW2b1NITC ztM<3l-dJ|r8fn9n8w@j)XU1#+D-;x_>z(lF&I?1|>;duNP^)$tVPJ{A)=Z zIgc6A43t7*%}`O$%XC)cs`U!pUqeA8)tOsbEkBOsj13E2$G#)@#js!h5hT_T*zJfE zeORKOB#=Kr5;WVfaRTeWGCY5Ei48m-!cTBOPoutQMJSH}k(@?2okwQHVxgg!QZ=(f zxIolRcxhbXn^=-D!b&Us32oA0(J%!b7|*op5D?=y5m+Qq5@mBL2|^rBpdZVi@qgfT zK*4Oc{5P@9x6w*7$}+IDj+G?AMm883vy~7N;rsEz<*7gs>j`fdCe~Qq^F%nyf)1?J9-BOtRMDSb(rh;_J!?kpDXqq(|C!H zq#ikPQFV}fM2XRL^2JLH&qL>kBjm>uTFehy?9Au1HR|+A%-XY$8fI^*WKfsHcVw7# z9nB6nrm;_UTZ)lo4swM<7>;5Q!&MZMISptEdyk$b*wFmaqKLOs>*l2Iv|=swen#8y z+09k#c2YQXjmCzwLq&yEhX(E|`mIaa%%LY7mEwgneDNy)Fz4ohfflPPBrHn6_5c=3mYCaM63pKP!x14(XD3hI9>;D}Kmm*4ew3Vn^jpZC z-zg-qochCZ>CWW?ri7uOU|sJ!$M3x8^vxc;^Ms;mv29;zRmq6UXYzj$qC=A7--9YJ zBrxym&oT4=x8u2eey~hDGQ3@Q4`Ijg;2eIRiwM^CU&1&r_b?do&$j}?)AZO4}{_YT8`XhC#OrjPU!X``jlm7P(In z6$Y97=|V~E=!J1w|5Kj#Pq$y~|C`${@|)=o6mK?dTn1ovR0V-d2Jg>4+ur*rT8{i5 zmwn`4UG@=Qk;|qecAJyY|NmX~B@rwfHa<63)aoZphmM(EY!d`_k{ws-|FZ@!fePgS zCp@Ds=Z6-X=6ku%pFeNcnf|(ehxS#MWwmaPobt8af9QUGd)woq8*e0d8?N1JOPU(G zJn6JP_)dGdtJX2imW)f8SEHY{WQfN+&}L??`siTu2eZ~;fBNz-f6V59iZ+J-yo42k zGLgk@$!3h_7F6Y!Dvqhd>TGjkM!&z|VWz*4?b(==eSWV86@A>U*yN2!M-MokX)|iG zyq&(*QcW6aXQ0NMG%d+)#1@Ru1;w;?be75|>a=VU^gD?lM;oY6Z)O~#iN1@tfUr9% zNJ3eh075&U-WV_t9uA_=$-!7&grbIUkvpA-EP*;DZ~!tHK+gJ!yb#vQ2`=GH2ZtdM zV7k^D)9;wroMYQ!R#a5f^hN*2VACG1W^|MDXKu~o4&$(Hg~%gs4*$eR_-W?_MaMzI z{L7PLQR~y9%WbP#v#pegl51IB2a=a-?3A%7$aHyBOHGPCbZWnS4aesp{dfL0;Y!2C z%9zb{yud4Y4GLvPpE_;4){trQ)(?s$W!Kpf^xyhz$T&nE8{PDP{UzSb*(&(WIEM=yI}roKMyUO7Gzf5S=)VCWo)REfFc!6Hs`EUA1%*or zsNL$^yf&Y9jpr?kkwZ-kYD>&!=2S03lmxvH{?3$Pp@IS zUSV%$&-i!YnmibfM{(xzN^u(s{q5~87n^Ry6J^BpPt4~acIc<=d!=;q;ivny$w^59 zxIKnJ@r^DYhPT5NaE63Ab##KMG6Ddawm$eZ03Nv@Np#j3!6C50crlboyF%w{;dvx% z(>JkuzL4L>LwGSzPvA&xBJ#!SQFe$7R5|a&G>DbD{AFw$rt~}tqJlJ6Mz6BKKHHnG z78j7g3(}d{=4#P0MAp$?ow)MVtMG2yum^1qfOfQJV}A875n_3UHL2@rFPx^R9l7JG zc`QKFro1oraFTzfqc~IR_FC)gMfxf#$NL7BKS*2qjOMA4IW3T$F6O9TCAVBA2ddum z+r3T>t(aYG9-V!;HemQzCNsdPW68w|Yldaf&);E3$&VUx#9R9h?rw9A;z7N%_b{{RwfN$B~k@k|U}; zg-oHc?TeUhsMRnhe>tnVrF-&B(cUwP>4$CY6OY-iiQoMzaKjeGeq?uCFi}lr58;Ot z9@k#YWCb|g(yGf{c0anNe}^omQ%ND~U7Av&zQc`lrMTmnRcF2SZ(pr-D-L$)ZIe^N zC)B+JNy-UMAmee=CCakOPss~eD8bK`7+L?^H&%P_d2)6bnYQIko?wp$3CFTsxWsWo z&gIt!Gp}Wbz3yYTZQPV;tYEQCb5FD}p65o0K&KU6 zZ=$2w9%pS$1Qb{#fb!52mEc4G>}syHX@cCKUA8NJGcG(yNlv`h#2G*`Olo7hK7pn({1#Oc;-B4!!56utvz)Lzgk z%pV?w*WU{LCibNd3bP$ekf**Pkah@RWF?0xSni7*9GxShU5OZg03J~Mes`wj;3ZpX7&8X)!`;kf94_5=T$p$)-LP6Rs;t$<#zJ+q zqH$itsw@qhhN2mVrb5}(Akbr)&`sYwEq2ybjAE@@bMR2AubDhaQbnIqWKd=47mioG zkd>YFTzq46x`TC_k&R{YgMP!{Ht-Zn*nwC$=_<-IV$;8gZ7dXkCzesJg1d}16Q-lq zL!AcPThWSc9$YwfID^w+{0@bnO)F5w4;0Ww?kBKFm=p#4RGkljv$4b%eyda#Zgca4 zmM_Aad9x7V5;8bA$*u|5VG#|af{C%pKHW<_KQx!Q>mD6*yLvy-&Cqa1K$Sa>e=0ORHb-;MX4iwQ*Vbe`%G`r?CJ2IYBY%wNK@e? zQ04sb*prPB!pm-{Ydm@+Lh798Ri<*~ZVH$N`|dE|GDk0BgOPBlyY??tLm!q*2WM0o z?UC79KF}%1-cT{1kj&6xG}S#i8embR=!i3JWj`0F2JMt44$(Kvh0yy+8{d>*5Ln{` z`DkTruVpWPGpsdDu-)Vs2=kL_E?gm66|;Nj>o>92cwX`O&tN+CP>16nTGogr2~BrP z?Nv1bZ`{APY*o)o1G-@0S3;URe+S6|(m^3Nsb(~sVFp7tO=@Adi9M&f+;=H2R`t4{ zM`Wkd+@c%)Lu#K?bndbyEo@!;ZM_qiQFB$hU`Lj7)+cyzdb<(`My3!>8$nIj?P zf7^@ywfE0{02H?W5=AnL!bQ3recQsrVX!{|b)OremGqyH>^Wn_KTeMXqgC`D4(!)> zk~IhGfm9J6Onm>Si%M@&etk{NuqedpW1SwiIF4 zkS6VKV#|mMbUr0w{x{NY1PQ_0EyUJ4^Pyy_DTBWnWi9E4J3sN(FtKa%5ci=l2~UG< z7itCt(Yg`ZpLsHtMnKllHiV;S2V|Xx0f>y=gc9n$-ld9L@h?!Z&SYCHF45=@Ot4;(f;@FM5kh5^L>10St{6<`pf5Lf1QfVFIqzfzBig*5ffZc@>KQ(&hK*3m46I6eWCwN$lL5Y2ff zqoW7Qss{q2Olj*Ja0oL+_(hE0*D= za7_locbOeAn5u^psdBbMX`n0qNL6vH~4;sS-kpWvVPj9iE{V8vGBx z>ECGIfF@XHSUx;L9k8}lJXrH|>as>eijD2rbgkyg_r)n0f^{FyW5Jta1vm&%2f|Py zFWGsnUH9lk4_R@~Gm8YbXdw4> z#xZ?`8xPyfdG-+niTK5ELuw-jL8Euf0rYyR9*}jI5R)|6slskZQuCZU4Br7@A>8tO z;YJex>o!{9UYh-9fEr^wa9w_V8}8UhUl3aq6tOqd5`(air<(gL=Q|K)I6WM!YSV4f2D3i=gBR5uh!i+ zdGbcu0| zA!6JxMU$Cy7O!+6cPvP8H?lFw-pI7nZ}etunBKI01+&B{;3pO@V4-E4!<~`mCzx3* zrpfAkg=^dI&&dB<^i?R7go{nDNYK{@L4Q36`W0vliQ_;8VPTmwNcuV=Nq_$VSfzu! zK*&E)mC(NGo#0S@kLATec`Yel8le0|2 zSk*&0T4bfeiN`!$G?qGP?kH6HCias4H)K?^zk=(e1?nO{q4^w#)!~3xRmrgyUYHO4 zM9@G&1+ci5Ja|9a`z)baQk*js)8Zg}WV-sZ!6C=Zo~Psav6aDI4S^R2Vot=Ljd4Gb z^qbqYD7HxP2_cHdR@lqpTdy(%5m}8u>uAzrK@>XH(q1vz}Ft zJ=<<&Xf|gq+MJwO@2rc}lx*vF>R^z%`d?$}#}8BJ@+oZmyXx@g9UA3>t-1P>k1f5+ zOL2YqAL#hRcV#TL!i%oplg>X}Gx1rsek<;3W_a9h2P&B(HTw6*sO%a<3XF>$w6-b? zqk@Kx=~#g|x)2gN9ioKJORzjc(wHV%=@kMgo$aEsiYrA>R-wNWQ#1n>B=jGF&rrpG z6HDwySdKgb7G7cp7t$_pBZi@vw$*&9KmzjjyXW)wSpk@iFj27N9?!0#dptFV^?Cg? z2|wyk_&CsjulN3KK!#_L!S&VUyYDfy%O}gTwW>EC+9bE+myJtJELXE}p?RlNSWEjQ z68(XZ04eg~cr}G+cROPl+Qru$m50Jkw7kuZsPXeWm?#ASFwy@@4WwxNnXbyG{~ePZrH+0_1|nEH z30RQ@MZ&uv*${Rmvsacc_(B47&S{WJ z$Lt|-(emUPX#vYXaCHNntA8I_eDC!0zYg2O{x(OTb#I|Qc;Bcn;@I53QXZEB0qzBm z=!^csR7Gkbi)kg|f&vNgsG*~1kVa(2pRlS-5AGoJ-jC0@0QSy7cn|*FjhwS+@+_#; zDHfwx!(vx}$*HqMMqhgwnLORQ|Phj_AdwVa?$IL-*xHIO>&j$nYCvKr&Ap}Ff^;|6yC3tT|T+b^F z&EIjVOazEj!RQkD*tiMU?;hR{$mXJ1&^2 z2}@y7VtBq-jdScg#5DWsL|TF%9)@Myd@f?qdCbT+X=9eA@b4YBbc2=XQAQq-c=}e@ z!OxsntWl4p2venWoRe}<=y=z zwsMp>_aj)Q^rGpI23-jAVMRRbOhjS+#n8_jc>9QOSjcV=xA?98SBGqb7`iM>>^zmB zJ1h1P&bc!z`)^~~0$X7keeyid5v#W~1EUeBLLE(j`f-b|KcihW4aiJFUq841U!qA8 zM3d+>G%NK-h!n50eX)AG2rB>00B)An4|fZKEd130{|>BB@%|vSFhPXJhZ~6d_mMz0 z9arF0w5-2?oaadYZlL$T{wB<>O==WgJr@h$IU`aH3g7$JksV+E#@O(e%W!7W#BG%lJRx@OJzwEe}@oKc(f(C)&O%-T5N*PNRe4fi<*LQ~A%&IzT

    W1Dk6I==t^GAP1KBe%!Vik1o3!h{7|B)Ait@>Bo7m&&(seksOLV>UlnT#@7 z2s;FV3i`}Pau#|(RwzPGPC?)WzG6-89M}`ljHX6RnI`=oBFcG^p!5=ttd4gx8(m;$f8Q46b_>kj{h z|EDkw&YHaE%@9z3(ANSqH$?H%mLf2d$Sy@+U+_;?Fq4kdJ?pkI;q0 zA`zTE{Ee;)a0MclYEl0+Az?2prhj@F(us0y=_hoB7L+5TAyd#RG^~ulydBbNz`Y-s_3UlKUDaEz_0a);7W?PdJ_!cE>k_&^w*%#WgF^?pVLFSVezeF zW7aMdv>-=`v+JDUiR5`c29#)Dw*dE98DxGIhK#FdSywK-##vPzrgtPYff_y^&dC-)>h?VO$l^ zT}xNdrid~0PcQljpbbTcv>^tTDz@RlR5J#? zSGo&*Uo=lswFl%eA^@}eWVF(Xe_;_ESu0;Lv^$RnPtV0w4E58;fJ*&4rEFfKFm6J}&VpgDWa*J! z6AA(`iwFs{tL+Vh!Z-SF&7B{{i(KGUWUPCLz;E^QpT)tTo1N`c?oY5^%zcN2$)w5S zh8bAHlOPD#Vi)3C`Y|FN?)zPZ5ID{}>X&KAo)cgzfk2IflO`9ugmSc3)!2j{{jvx2$@+n&CUE;k*D&nl_xYV^3)_RT1E~9o0 z8Rww?1+#fBZ+^hRjthqLtAt5Q!FlLyBSoUq)xjjqYU<=p4pn$Fc{iNEXcyRnP5*`@ z_xf8|`#&Z9Kf+H5y}yIDtAWHqlJG7y;w|D-mzm1tVyzq`+7vH<`$@#+#zOl}_=VA) z6>R6i2cP8-pVm|Brss%-Bl7Xw!4dwK_8Poi{fp<}i-P2bctr~%>v(oo^FB!G`d+Iu zM2%ke4NtXXjOQLMc`36KZ{BU2Vr(r;ceoz0&Ea~6@|2~2w^DKDceM6<0FFK}u0Ezw|!8Us%7!*kO<^Q$9f_C6kLGeH*9(zCsi zcJZ;O0NI8pmV|kgTws6+ansJN41dYW7tj@Q&7+6l(K#lybzuZ!kVn~OvPE~v)l8zi z_<_ona@WuLb_=4;co;RES(B_?zuWRavdykmbj)%S`|jsZrhx>9DB-`yKbahu?4eLH zx`MSdVF|P!*&?!x&W07tb!Uz5sOd0y?l8SfPr<#@vs&gh)5|V13?}p0q)Pdvst?8T z4v3D}y@acDwgH&a0sV6%j`UO`e^Cvcy$6DVyRi^~UR?)Q$Or+r`v_-M5N@my=C5P} z?2{@aK|X`csIvj)3%EHR?ZuZq2c`1ixpS2lh*$qtQ5_C2a=IIl(+ipYho0V zU-Vj6o~PYU2t$~7j%g+*l*HK|lPG-2q%8~LOHN$E2%onULA1nvmY?&P6Z9hdYL=rg z$@}?)%vkBk_|c{9ljg$veN+jL59;N`;f@uC_%VS`$coDT%!B-PynKCFc7mJrO1ti( z{tELA8#JlC);97QdY7W_Yoc|%;|OQ89DQIGTcTc7D#ao3nG7S+WksBXYd$izel-(} zdureFmWrkCWiRrn%RkMoak1-io9(f?!f#X2u~5MZ$1+(O&M{Cq+&o|5X*Z@ZTaGFr z>;t`BEvy6v?HVcv6OMJun|T4{1XWCva=JZ);Pq~_N1=6)gAe~wV!v&gAHC&;X?Awc zaPz}N)<>zqt?05&&#&7jF7Ig?EPNG?pBk-5C9u?%_dA6IC%Um2E>j_E8}%qLITn^O zGE2{@n4ZkNk!gI`!e-y}3T9OKK5LG)q~{19M-8{N|J?JjP{Ufi$Exd`-LAKmw^h0w?lv6TW@53H-6r0`Xej(?Pl2ah z8q5>Dt<`eNiqxzjkk0SZsHEZrJ6h={R7vI33*|TeYJ2(cA!Q_>dq~^t;a4IlHF*u>7$#K8{fv74RO{-6_bO zK0iaa^&TA>=U7iYE|p22IecvOwG2-;US*>r-tsQjz{)FK1DR6iz9G*rk!9rb@j}96 zj5fbFsss-vaxo-m*a=+upWk7%Z*oHvIUySO7_6uA_%zu=d3>#ZgjC~5*Y9Ves&>wq z#goa6OJZV_MGys3XaPYTsZ&+xR#2SmkqcBg%65*#e&8F$iU-q}@)t|-JcIHcO->+p zB0L8o(wR~E)zl5oir^!@XkW?M_B9cSHZi1nwG=qM+>AASTwR`%KIZ_@ZtyRLj;57^ zt>k?C1#aSEd&cbVIMrBwyOb$I*2=hUr8vnZ^%ukLqIj23r)j?#O`1>O=FB!wsqQy+ z_V#yN79h+oZqsNzk2V5XsKzLPTcwFkIjPgh{0i3k=4q-TJ6uB=J|pA!%yW-LW5a%^ zGB!v%Ue7Zm83jvcOEnkHg4B8 zRAaI_?q3}u-?xoR3t#0avHaTdFaqH=PgrHN#U|cO!Kox`)zXiXnqF2sF%^}i^lahKm!yCWqTp|!G^F5^ zan(>N+$Ox9oNZh+R2)uNcR!llL5NCAXsYZVwJK|_bj^L9L_X0HMsfZnE6(#X94R}> zF7PA%d4f*uc8(BOM5v(evcnK|gaJtUBAErMO#f(v{th^UEE`b=o~Xei{D}y4 z`K#|DkojIZK{_Zh7OI6|qusX?N10N-P|f>pzI0a(9WI48fh-eEiq5xD%bi;$P~tH- zquc~`V5RPlygjM`yLg_Q7N%J&rb&A59irAWF4&mvm5TUEn+N*3uq1zPv}tpZOI6|g z*knJP>ur1~{Ssr9Z$Q9_B1G@Cz1h#4YC<#XvD%S+uT10>+)TDt=mD_S<;2mIu?-n_ z+TxT9KOC!QPnQj^GCl*yEOPnH%O6H8r834LN+wBDe&*{0OY7km7$!tdEzOp%pqt^B znXF`^l6Tz{2hS&Q09Y;9RL*u^9PW|Gu9hOMs?8TK40xiFajkmrI#ZDKL}NqdmHR5D zGWf{D#4)|^!&Ug`n@96~Q8*3+!csu7qz{L|Dp~T3U}ePV7ho-y@E`!))rh%22QQtP zF&hYLG}^Brlm-dtsb3M?Cl_L>o^yd{lLW|>DeM6FEm;ERM}Z}%{SZ{^Il&WYJOIA_ zEaw&mK3~u&lG3Rc|K<*6Xh{d-h{qV|Jt9eQz2`~i=)5y=%^LZNc(%NuL$_=MI z>hz2c3GCLL@bNhoPkxQm)>f1%i&7GODZK@RSW|hy0k&EM6N$!_znjikSfz&VnDHT0 z*`C`?jV?f!PuO|by_mxtXNQ>_@`zP53XKY+gGxS zJ+Ydjx4Qh3Jy&~kxyy#c^rby17Jrof9KPmol7hwWQp=J#ch&`KY;Ue^zn!ME@zKbh zyEfL=X{J<6d7@ulD1k~M?ENq@{$%zP4833f6CB|TS@e5CSC2#E-KI&Q!+}-3JpVUz zzA~QYOOGZ^>xlHCGJ{BTHZKiZU3&=`_N*lFjzA-CG{QPm0-OAPuQJN4hQ~2{a*`g^ zTQCtDvYF>q4fej-WF-`&dB=AP^iIer)#vm(J9K)TJL6xwCXF`oR6l=v)`zWsynpb} zIxOC8_Zhe{X_tqn_E~gD-yKl+Fe-DkVqoTU7h_XJpZ5W4ZJ2VHX}OW%);SNheUPSM zd*D;tuD(zGYlRaLAviy3cu6?7DUn=`I1|6aNk#5o}AK$?+lO)MsnlDGwd~IXX z=Cnwm3NpW5$yphehy0Tf7%&Ghwh%Oh6TO|cxCXogb_N$_r2_!8wz_8p7=Aa7#Bc9V zrY>7I8tY<8+A%%Ks8WYTY5)~qLS(&C!WVcuFYg#DEj#;&ky**b7ZBZ4(?8z+ieymp zsKw~_e1k96OIl#MPOyqM$5F4MFB53OnFH%;x=C=9*9cq~J{6o}A&K|fv@9oWq#osN zlR4a4C`nL4BhP5Z=8d)|9bwJ|-qxw(7TtIc1|me0{Ve#pzq5bhU?)E7=<|pxCVmLHL*4P%tckj& z|77n*KCLMrR3O25lDa((=Boz7g<$mSWgaG0?{d@qgFQorDG2e6z-n2C2a01BN>+4j zQ*l3HCKGu-s_fW?Rt{C_B&Z!!P!Q-_xG=pMY!*)f)49)I0@v0~KDcsLU>`(izxj1; z19OKJsx{4qAcF*s5B?nyi>Yn~XCp($q5PfUucd-!MnOKfU;lEPMw_MnLEeeQ`o3e7 z`N~mrIk90S`}ssy9<|(8+EBZqLFM%jP?9Xa*RNF+dn_MNu$YiYAnU}rD zo?2INbX)57L^kGn@pV5|7)mXwv}(xXSthi(T!Cru=?VSv+fHsX_U-(*KkIgK$M|)) zPlT*sf7Rh511feiba^tN5|d=5YBF`vnYlIq4Rfw#{E6Lt059z+sQhMx+ z?^S3lr^d(t%9_1lbrd-mQ?cb>c%7cpZk1=@TQ}F`-uClLBg)2B*+p|?B}03`kB=T4 zCnWS^9z*Eg?9j4_S&^#teV=cDBGMBfm(c0oP2=gj6j6S;S!FJYyO_6x|82&tbWW}K@#m!Q+!Um|d%U`5fa zc5p<^7S{P}!!O8Qc79m?mldoMs$PvB!LiKm>oWG2twuRBk5%!ROy}ddY8_oH|K;At zkh2#niMJ%gXOOdS)Q!E+Ui#kD^=ysdz-cXpP;n}COZ_CY4a*x=zoswJ9GbQDuTcD| zfIc#n=`&oY6&`rkkGgbc1REUFoK<*QqPwBMK=SxZZsN6*mU7`Ti+0Koal-3x&Zl5n zmIC^AFOyK98){mTPf!d-3|!hr+Hl-QgJzsdkyYB`sncMdykSL zqRuK$Vq)=uKVIri;#wTbd$w|X%j-hJ1>4@x+n0_mVlB2wVLe5=gG_D4@=6R~ros=; zv_}p-TEDtxJXK--{`_x;;*8IF5cyQ-`$HC!U09ZZR8B*HFyeN)eA`u*m&L4M%JpV3;Ut3C*G~7Y*M5;m#(RV5^lMO%HjNHQ(Y}{9D-uDCw0WHv6*t( zG*~5W2D*bJnkic#HiZ)$C$r-)Vyim4nVX4uXRf3R%lJXNHgE8y9NX)Ul_%ni#

    yQJemO_(=$k?=E*U+OjH@;=C^cOJ_;Skc7gc}-`{t=p|+^LgsDZMx+jx9#wA zJ9v&qIE}A$V@#K@3uCz%R|PI?ltl_FF?txB)lfZW=FGuen#s}lEqCrzn!iUzcQEZh zNl}r3UB~aw4g{t8v{h`-ena10`CP@;qr7B)e4poe$|)DdYy%EwmYRb2L{<)TCMleA zZZ7!ToH4G|df8~CHO#O#DInVFCLc}fUH-`l-#>9t;9Y4rF;=SB_f1S*u$h&rUWesG zLx}Bh+zF{lT<>$YzceGkg%cF6JCYb8BYlPc3?~s;b!;0okKrux0SSARd=_*eCK(Bjixfla?p7a2+o>`sXijEYY1e65 z#o1e>huwBlvH5L}tk#Zn#9M&yYdKpPgaz~y9Tz^xJH#sahwGM)krb@^ot0V6;+L3C z9UJS(HvSO{SZrRjhMHdpB5$Uf7F9h|pw&#fag<{i4U=~w%UL~e|1F$G*loSi$gpG| zT_EpG6*Sp>g!ti&e>EV7tRS8XKmj>aL--%PN2};o5U!PK^KPX%o;de~%A9jF-+xHe z!D#c{{re>1i!Zfv>!o|9Y)Y?`AEPHG+R9#klY3*uftqh(gsL7Le}bCZVM>}|+3`Ck zw4KU4sKn`sQf<{yTCsG!GCWd$hv88+m|=H~jcg0;;# zle|dnmr;29Xi?IWxP=bnSjLpOXU^_4ucZm&KkP}^(&6m`Q@M)Ger6+tHrC@)NA`u8 z_$s)6*v@FFIJTiPOM!P(?~(iFbcYxT14YYS*M) zLHe=uHhq@`{k5f1zX?OXlHJk7V8HgI9A&r}?FqUuSOQZK8kgoeDaPE7cc%~;*Wc=? zl*c(GT>0F`nRPM@)k?ow`uOZrUI7%g(Hy-WURRD(0y}+BZFP&0a>H$_hL|bLDkr#;txvgljR^A z%y;YDpXY3W%W4V+As0wns_1l26GJCt{LZ@88Eh4@$gohQFf&;B7&Z$JN%JJBlsa#y5yC~y-^K3T(qJ0wbPXK zJ{8G0l2*lFiFV4-f0WSjyf0L?*Nz@zFZb;Cbn)*r*>ABqYe%>)-u7S)z76H6dqBDZ zNO@tIA@7XoVWw}{QPl`e;KuZoAQ#OAGQe1PdACz#C;Md6O)a2MdrpP2D(dDcnSsV0KoAU zRtv1aJp90EcohsRIEoZpneZ|rRCla}Lx>DfBI{NtanrckTZ4@o$N8l>e;gT+M~}CR z>#Xw$Y4X>&;oNXb6ZhNMuddsb|#Kzada=GW6 z(;junLpel`eJREVhVBkz{Ip|B^dSx6X?Z39#b!Z>{wB{ znJI``&;Oz)eWyPp?Y5gykBn}4u(HhGQ6VnR9Roaykr_YYHKZ=~_+?<~#b(gi79rRl0Stwkj*x2;IHiI}GQEeue%lME z9cAL!H?ax88u~IjIiAH* z0rM6XyCs0GG7l7X#nNZ!J}|80m@p!rUw;ZkK>V;20v4iM^mCM#k4lx&r`Oxv`nTop z1%vXxWBof#beM=ZPkF~vcG0C0eI|^D=6RUU*#Y;PqLT)E(|2bkp7l6+8PHvtH{bQ% zZ`v}R6gKct*wHoKKev0Jt+MsyP|{xI;SGjMrR>AfFV^}UwxBQCN$u=o8=f?sq zI-7NV-L{{s(uv(RnTHLL=Xl8aH=K`QrRuYsSM*D*sW;6LW>iqD zk_Sz;rw$^A%9xX5gpPd5dzpWx$DO2dwSS{v50i*{ZUTmIl~eiUynnwnR8C2zsPD@bI*FV zWJ{4v9j;&Q_uQ>Nt)f$zZ1Z~d3oeqZeU%&v1)$n|0H;f{p9S1uW9Jis194YsbLj`` zCzCB@Ho)Q4tz@wcY1u4Ip(`%3!X;~}Dd*77AmH$hPXHb6S_T*W3U_b=_9&=EI|e9F zBl?#^D1t!#FWErvOeENMnWXP$#}<_|B?z`+A7H9buV6)~BzxjA`V7f8?E*MlHu!7o zZpJ^44@np?9un9U@-c{u>W=IA&g9iasK4Dt=Wf{_=SFbgqV`x_?Nc)T@p*zL3?pef z(abHa?QY|SwA{Vb-8xWYLSw6(WmQLptQGMgE6icO5MCO2ioFs>VXyoXr2T!l2$$N1 z6wvcPnwVP0m_z1v&LInCCbG^G05rB_T$s`JX!0Cx7HN28HO2lf2&n`;%64HSm>x7L zM7IrFA+QlbahkjD)lyRqt`jK|_;Murkn%<)GTjlYX&x&$qB}>bC|w1UqH?@QT`#uW z&G3{X_`JG1cJ4@6Tv$ z6+wBGP)&!B_|kvKmI9W;lrc^}J{i)%)kcuIxy@Tm9=EJ~Gevh17T$8Rr?S+|k-=`@W7D@44mU`Ta)w zg8pJ|TS-XpyyYBBGV{Inx^IJ#yIed@r_5!OKvoKMg(*J6%nb#>IeXhP$DU5Fw2VVM zZPWMVf4Vf3Y1CkM`$6v~6)Uhf)ka^oMv^u?t_N{AQam?#H`goo?0DmSOqWsBhM5hs?F~ zvtN$Pd{9$gUnMj%sPQ+nU@Vy_ zq02|TW|h*eWXwdXX-kJ^H|{C?ZJwKZ3;k!%1J3}09?U~~2nwA49DWE87!~g;}h&Vdw z&)|ziY~KjVYGJN0k;{Nr!lChe@%_+*LG5)&$Dr`mct?m?0ynXU-{rpZ#;4TYIpsAq zd9gWgkl>uTb(-MXx5XB4O?yWQJR#H>|9{%M@~EcnZi_`pK}wtuL`qcZ1Y%SM5o4nA z02MV_6htkNDl%ySsS*{qP7n|wief~O)Q5-)7%MU;NSLWbL=A`p6%s&@K@!GGhU+^Q z`>prd+V8pE_t{rh^OtK8T$d!jv(G-~ch25Ea+-JL{Vtz9^@%R1j*WDCDQyBS!z-SS za>RrP?lZ&B7BIEeNxHPSt_}$YnX+!BeDSQ|L!XeLEE(ZJh){fnGFWp+Bl<{N2O0-`!`cZ*Z*^`8 z)41@!l4hHj(<0*N*9XG*@y!fxp+=m?LBhoeCmow#Y}xEUaoe@vzV?N$zLBnwX04B> zr^YhrB2VpC=XQ0oC>HR3S-oj`S+YdGSbsmA7S}7|JFE{pTkTMjp{?`@kF)rP0L=$uCIvVw2_I7knKpDv}blc*{Yr zEZdP@d|HfXuI>Zr#(+AGwghvJ=H2i5@m%MHxuxRNgEnw&AQaEn_lfg4XtUw<6Bebx z%zF9Q+uz12k+A%eiBt*I?y%@PEopHnMuc7i90axu(C^SNlwyihl{lvpKmW${L z2T;1+PCfemc>R5n_<%xV-ut=v2L>#6sY?y_5Y7}1QQoSRGc@yc73;8{VO=9$A`k)l zpm)-;k#CWry^Rez=x_*iz6&AQcMv{!2)Pe*-`Wp$)w(I%S0QJ=Omy}>*}T8uCMLXp zE3KjZWo>(dFn%AA)Q{}$RA%3ly)bxLA(WfA)zh$@C_suiu^QDmja$?9oZe^0J+>T>;N?*Z2#+$_qOF1O+uffuZr`$KdS2Mzy#jxmHeNq zQ=+U>V*;NCO_1`&NeTJ^R^I)7T~uRnLhF37_TYTkSt60M4ZC;Y)w2XQ_bAyF#<8MC z|AtK^8wT_#R-`W+W1|iH*>IhizLyJXh9E@z1Cb=9ca4^eE)c>;AC~7UEeG~+R6$Qx za^&>l#MvmPkx%Tn8&tomtA8>%+uI;N+xzO~5FR}*lbP6p} ziMD3wx~RtoEF`v|Lc_#*Ld?TGoij|>nJHS;${VDyk>CP#JNfI2n*s|11qm}Jm#yU2 zqFdSqo4O5~H$nR4sVf*wI+H4?xC>ygnJC2|K*J7L#H4@JEgU_L7`t}PeLmCBrADf| zB;5Rqh~kaSJp0SIA5`%sJQ41JqX#F(hyj`KaqUdmPyzG?TqP;kSFQl$R-|PxBg7rf zg+9Z%a6$v*LLCt3ygNFA+s0``Oie9D8Qct(;!^8zxkJrB>o zYf#9*j~bEpJoqt|4^o2@gW=aBCqibZ1Wb9)V@XT#5vSVWs2;RdT!q{WYW5!{3k|B# zFs5^8SlJX*qwkcrEG0l#(Jq2&H2&qPE8s%$A-w+Is?5X9)xYaQ))Cm)qx{*md0$9I zH?gCG%@8F=j1UwgG+xZrX-9TuZ)ScDf-7ITS&=Q(%?!7a+X23da#y62A?(K4$N7q)RWTdVg z-<+x`xOm4?)9yBGhRT*mvh2#KRFqV>)#)%+ElQjxMT*x>6jL%fHa*ZAh_Nd%^p0&= zluzimv(H%boI5p}BbMqT>DvOByF7^AUH;FGTZ*(!VUwYJWebfsB)Tp0t$%aBVM*Wl%vi?7Fkg1gh zWnjCiYlEyyTK>J4*rcY!qY#6M#e(k2n_}DwmUQyu0xt*Byi!H zLJnDCiy7GBajylkC2FrpihD`e?1N2%N?i;pG02qBG#P`9nfCVCzytaUg}$%NU8bGB6?cImaIEjf|lybA*+OC`r2cj3pd{~-rVjIJ83oNl&;gb zOLiyY)kisl9t`(Vb|e5u%$N#hZFJyE^~wclg2;KnWY(pkp_DOAfuHZxf1Y7odCfW9 z(MlA2nrLX~5BmJNCboKC-{LtD^+l~~_nJJxuF0l`3aUm>&xcO;48@(yspK7o%T7wH zJj5F2lgft(8Xm5eTQ8Vap`NS&{aseZEGA5e{+RKgHAbA4pKf5eM`rEn?$zW;*==*X zZG8z)ahk-jn~h9Fyts$l$kOaGnl4aecX0^0NrNx){emtZT^vg4u`nf%QqXGB(?ZKd zyGifN3j#Of$X7p&b)yOMuFW;lH)~?`(MF;vRPh_#2j+99mcudJ?iHXxR$rA}@akSsi0*uIT1_p4@Ni9$1F&2UfhxAl<k(L^~{=FKg(f_qQXuwQ{$bGBkOCGXh3t_z)G`nVk zekL63(;v2}gm4GDrowtHH4a)e->|Xsmck|_hu?$b@UaI_ksux3A~~&|Q4gJsS$jp< z%FBEL(vdEW<4$mq7b=4`L)@eeC1JL-8yyUOKVmWAzr#~ge!S^VghgoZFua>$(WN~2~TbxGrzC4 zl&k@Z`{;JL3v`Mg8QxE0%CU#)r8L{saw?&4jfPrw{`^T(zJJaSaU?@DSx?TC>9wey1-GDS>_NR>rMCj6MjJLLIki z5dOEIxL0{w$*1+O+$JMJN69`Akn#=opw8kAvJ}}0N}k}r3uUV!{H@wqC~`UH{kHJ) zWX1JQ=t;g57I;m9J8z9u|HGMwA%(}4w z%X2fN9qEp8)2s>JFRCyzUXdf{y0JSmclRoX>f}4&>Laae;!>wsrYARtJ56u4+fZ_K z{f-$+3pesLWRsb_MI;CIc+iV#TAdqdzM5yzNT~{w^jR|qal<+CdNC`t4@|y-$>n1TxPvraB=e){_BGSi6LY1R>{0k%_8bV)HTuHYFWu7LR1}r z)HFW0+rVId#j_9`UiOUzNw`(>RVp==4G6}m|3vZ0&sbM=t< zNLx#Y0Zlqz>HydrVW|wRYo}>~u{gUR)cD?0%cvLQUI|$|C+BE`J1!GEnep4FM?REfq^xCbS|6vyjC35Ubuwjbwrrss-o;K58(Cgu zgyuqf4$Unx#QRP72o9!J*odmrnkco_$q762JPQo%SS4bAg+qa%>5*_(Z9T157OBq3 z=W0tGbhnK9d|Uh1*WB_+a=`!J1Ahy{9#%A__A=xq(gxYppV%#YT&?Ag)r^j+ikbgu z3G{ER{oXOAUz{1p`6EIf)4-VlJg#1n(ZXaD+MZy{u#Y;iR-xx{X&D>^IO(_jM!PD* z>zz>~y?yNdyP=WZmbF4l$BTopTUY9xR(J3tf-^%SS4+At1Z=J<=83iRpBLjkD+E1` zQ&D;QISN&Sdn?@7q@;#zImdDlJu$C)eP#Jsv*on5K^XXf_Etj@|Cj=|TJdKeo0Ot0 z0Y8y}or{m}(Xl9N%>B3ZYQRCwjrS`*`-ItWGeG(uHV;%F z_I^vkKR>=yAf{^Y|8twnfAvhNK?~E^h zN~NO$F%^iZK - - - - - - - -

    Andor Salga

    -

    Test for rect() 3D in Pjs

    - - -

    - - -

    - -
    // Test by Andor Salga
    -import processing.opengl.*;
    -
    -int START_X = 10;
    -
    -int counter = 0;
    -int currX = START_X;
    -int currY = 10;
    -
    -int RECTS_PER_ROW = 10;
    -int RECT_SIZE = 30;
    -
    -int Y_OFFSET = 50;
    -int X_OFFSET = 50;
    -
    -void setup()
    -{
    -  size(500,500, OPENGL);
    -  strokeWeight(6);
    -
    -  // default
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -
    -  fill(0);  
    -  drawRect();
    -
    -  fill(128,0,0);  
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -  
    -  fill(128,128,0);
    -  drawRect();
    -
    -  noStroke();
    -  fill(0,128,0);
    -  drawRect();  
    -
    -  stroke(0);
    -  fill(0,128,0);
    -  drawRect();    
    -
    -  stroke(255,0,0);
    -  fill(0,128,0);
    -  drawRect();    
    -
    -  stroke(255,0,0);
    -  fill(0,128,0);
    -  drawRect();
    -
    -  stroke(255,128,0);
    -  fill(128,128,128);
    -  drawRect(); 
    - 
    -  stroke(255,0,0);
    -  fill(128,128,128);
    -  drawRect();
    -  
    -  stroke(255,0,0);
    -  fill(128,128,198);
    -  drawRect();
    -  
    -  stroke(255,0,0);
    -  fill(128,128,128);
    -  drawRect();
    -  
    -  
    -  ///////////////
    -  
    -  fill(255);
    -  drawRect();
    -
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -  
    -  fill(0);
    -  drawRect();
    -
    -  fill(0);  
    -  drawRect();
    -
    -  fill(128,0,0);  
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -
    -  fill(128,0,0);
    -  drawRect();
    -  
    -  fill(128);
    -  drawRect();
    -
    -  noStroke();
    -  fill(0,128,0);
    -  drawRect();  
    -
    -  stroke(0);
    -  fill(0,128,0);
    -  drawRect();    
    -
    -  stroke(255,0,0);
    -  fill(0,128,0);
    -  drawRect();    
    -
    -  stroke(255,0,0);
    -  fill(0,128,0);
    -  drawRect();
    -
    -  stroke(255,128,0);
    -  fill(128,128,128);
    -  drawRect(); 
    - 
    -  stroke(255,0,0);
    -  fill(128,128,128);
    -  drawRect();
    -  
    -  stroke(255,0,0);
    -  fill(128,128,128);
    -  drawRect();
    -  
    -  stroke(255,0,0);
    -  fill(0,32,128);
    -  drawRect();
    -}
    -
    -void drawRect(){
    -  
    -  rect(currX, currY, RECT_SIZE, RECT_SIZE);
    -
    -  if(counter % RECTS_PER_ROW == 0 && counter > 0){
    -    currX = START_X;
    -    currY += Y_OFFSET;
    -  }else{
    -    currX += X_OFFSET;
    -  }
    -
    -  counter++;
    -}
    - - - diff --git a/examples/seneca/rect/tests/test2/rect.pjs b/examples/seneca/rect/tests/test2/rect.pjs deleted file mode 100644 index 954653c7a..000000000 --- a/examples/seneca/rect/tests/test2/rect.pjs +++ /dev/null @@ -1,178 +0,0 @@ -import processing.opengl.*; - -int START_X = 10; - -int counter = 0; -int currX = START_X; -int currY = 10; - -int RECTS_PER_ROW = 10; -int RECT_SIZE = 30; - -int Y_OFFSET = 50; -int X_OFFSET = 50; - -void setup() -{ - size(500,500, OPENGL); - strokeWeight(6); - - // default - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,128,0); - drawRect(); - - noStroke(); - fill(0,128,0); - drawRect(); - - stroke(0); - fill(0,128,0); - drawRect(); - - stroke(255,0,0); - fill(0,128,0); - drawRect(); - - stroke(255,0,0); - fill(0,128,0); - drawRect(); - - stroke(255,128,0); - fill(128,128,128); - drawRect(); - - stroke(255,0,0); - fill(128,128,128); - drawRect(); - - stroke(255,0,0); - fill(128,128,198); - drawRect(); - - stroke(255,0,0); - fill(128,128,128); - drawRect(); - - - /////////////// - - fill(255); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128,0,0); - drawRect(); - - fill(128); - drawRect(); - - noStroke(); - fill(0,128,0); - drawRect(); - - stroke(0); - fill(0,128,0); - drawRect(); - - stroke(255,0,0); - fill(0,128,0); - drawRect(); - - stroke(255,0,0); - fill(0,128,0); - drawRect(); - - stroke(255,128,0); - fill(128,128,128); - drawRect(); - - stroke(255,0,0); - fill(128,128,128); - drawRect(); - - stroke(255,0,0); - fill(128,128,128); - drawRect(); - - stroke(255,0,0); - fill(0,32,128); - drawRect(); -} - -void drawRect(){ - - rect(currX, currY, RECT_SIZE, RECT_SIZE); - - if(counter % RECTS_PER_ROW == 0 && counter > 0){ - currX = START_X; - currY += Y_OFFSET; - }else{ - currX += X_OFFSET; - } - - counter++; -} \ No newline at end of file diff --git a/examples/seneca/rotate/rotate.html b/examples/seneca/rotate/rotate.html deleted file mode 100644 index cbe52ce4c..000000000 --- a/examples/seneca/rotate/rotate.html +++ /dev/null @@ -1,46 +0,0 @@ - -A Processing.js Example - - - - - - - - - - diff --git a/examples/seneca/rotate/rotateX.html b/examples/seneca/rotate/rotateX.html deleted file mode 100644 index b767f347c..000000000 --- a/examples/seneca/rotate/rotateX.html +++ /dev/null @@ -1,35 +0,0 @@ - -A Processing.js Example - - - - -
    -

    A Processing.js 3D rotate() Example

    - - - -
    -
    - - - - - diff --git a/examples/seneca/rotate/rotateY.html b/examples/seneca/rotate/rotateY.html deleted file mode 100644 index 19cfeace1..000000000 --- a/examples/seneca/rotate/rotateY.html +++ /dev/null @@ -1,35 +0,0 @@ - -A Processing.js Example - - - - -
    -

    A Processing.js 3D rotateX() Example

    - - - -
    -
    - - - - - diff --git a/examples/seneca/rotate/rotateZ.html b/examples/seneca/rotate/rotateZ.html deleted file mode 100644 index 64d77ca2f..000000000 --- a/examples/seneca/rotate/rotateZ.html +++ /dev/null @@ -1,35 +0,0 @@ - -A Processing.js Example - - - - -
    -

    A Processing.js 3D rotateY() Example

    - - - -
    -
    - - - - - diff --git a/examples/seneca/saveStrings/example.html b/examples/seneca/saveStrings/example.html deleted file mode 100644 index 8dcbbba30..000000000 --- a/examples/seneca/saveStrings/example.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/saveStrings/example.pjs b/examples/seneca/saveStrings/example.pjs deleted file mode 100644 index 2be710d29..000000000 --- a/examples/seneca/saveStrings/example.pjs +++ /dev/null @@ -1,15 +0,0 @@ -String lines[] = loadStrings("strings.txt"); - -println("there are " + lines.length + " lines"); -for (int i=0; i < lines.length; i++) { - println(": " + lines[i]); -} - -saveStrings("strings.txt", concat(lines, ["line3"])); - -lines = loadStrings("strings.txt"); - -println("there are " + lines.length + " lines"); -for (int i=0; i < lines.length; i++) { - println(": " + lines[i]); -} diff --git a/examples/seneca/saveStrings/strings.txt b/examples/seneca/saveStrings/strings.txt deleted file mode 100644 index c0d0fb45c..000000000 --- a/examples/seneca/saveStrings/strings.txt +++ /dev/null @@ -1,2 +0,0 @@ -line1 -line2 diff --git a/examples/seneca/screen/XandY/screenX.html b/examples/seneca/screen/XandY/screenX.html deleted file mode 100644 index 038104ffe..000000000 --- a/examples/seneca/screen/XandY/screenX.html +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - -

    Processing.org

    -

    Test for screenX(), screenY(), screenZ()

    - -

    This pages tests screenY().
    -

    - -

    - -
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(204);
    -  
    -  float x = mouseX;
    -  float y = mouseY;
    -  float z = -100;
    -  
    -  // Draw "X" at z = -100
    -  stroke(255);
    -  line(x-10, y-10, z, x+10, y+10, z); 
    -  line(x+10, y-10, z, x-10, y+10, z); 
    -  
    -  // Draw line in 2D at same x value
    -  // Notice the parallax
    -  stroke(102);
    -  line(x, 0, 0, x, height, 0);
    -  
    -  // Draw 2D line to match the x value
    -  // element drawn at z = -100 
    -  stroke(0);
    -  float theX = screenX(x, y, z);
    -  line(theX, 0, 0, theX, height, 0);    
    -}
    - - - diff --git a/examples/seneca/screen/XandY/screenX.pjs b/examples/seneca/screen/XandY/screenX.pjs deleted file mode 100644 index c09a38e87..000000000 --- a/examples/seneca/screen/XandY/screenX.pjs +++ /dev/null @@ -1,29 +0,0 @@ -import processing.opengl.*; - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(204); - - float x = mouseX; - float y = mouseY; - float z = -100; - - // Draw "X" at z = -100 - stroke(255); - line(x-10, y-10, z, x+10, y+10, z); - line(x+10, y-10, z, x-10, y+10, z); - - // Draw line in 2D at same x value - // Notice the parallax - stroke(102); - line(x, 0, 0, x, height, 0); - - // Draw 2D line to match the x value - // element drawn at z = -100 - stroke(0); - float theX = screenX(x, y, z); - line(theX, 0, 0, theX, height, 0); -} \ No newline at end of file diff --git a/examples/seneca/screen/XandY/screenXProjection.html b/examples/seneca/screen/XandY/screenXProjection.html deleted file mode 100644 index eace348d9..000000000 --- a/examples/seneca/screen/XandY/screenXProjection.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - -

    Processing.org

    -

    Test for screenX(), screenY(), screenZ()

    - -

    This pages tests screenY().
    -

    - -

    - -
    -void setup() {
    -  size(100,100);
    -}
    -
    -void draw() {
    -  pushMatrix();
    -  translate(100,100);
    -  String result = "" + screenX(5,6);
    -  println(result); //prints 105
    -  popMatrix();
    -}
    - - - diff --git a/examples/seneca/screen/XandY/screenXProjection.pjs b/examples/seneca/screen/XandY/screenXProjection.pjs deleted file mode 100644 index b422eeae1..000000000 --- a/examples/seneca/screen/XandY/screenXProjection.pjs +++ /dev/null @@ -1,12 +0,0 @@ - -void setup() { - size(100,100); -} - -void draw() { - pushMatrix(); - translate(100,100); - String result = "" + screenX(5,6); - println(result); - popMatrix(); -} diff --git a/examples/seneca/screen/XandY/screenY.html b/examples/seneca/screen/XandY/screenY.html deleted file mode 100644 index 2151bf01f..000000000 --- a/examples/seneca/screen/XandY/screenY.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - -

    Processing.org

    -

    Test for screenX(), screenY(), screenZ()

    - -

    This pages tests screenY().
    -

    - -

    - -

    - -
    -// Test By Andor Salga
    -void setup() {
    -  size(100, 100, P3D);
    -}
    -
    -void draw() {
    -  background(204);
    -  
    -  float x = mouseX;
    -  float y = mouseY;
    -  float z = -100;
    -  
    -  // Draw "X" at z = -100
    -  stroke(255);
    -  line(x-10, y-10, z, x+10, y+10, z); 
    -  line(x+10, y-10, z, x-10, y+10, z); 
    -  
    -  // Draw line in 2D at same y value
    -  // Notice the parallax
    -  stroke(102);
    -  line(0, y, 0, width, y, 0);
    -  
    -  // Draw 2D line to match the y value
    -  // element drawn at z = -100 
    -  stroke(0);
    -  float theY = screenY(x, y, z);
    -  line(0, theY, 0, width, theY, 0);    
    -}
    - - - diff --git a/examples/seneca/screen/XandY/screenY.pjs b/examples/seneca/screen/XandY/screenY.pjs deleted file mode 100644 index ff6505bc0..000000000 --- a/examples/seneca/screen/XandY/screenY.pjs +++ /dev/null @@ -1,29 +0,0 @@ -import processing.opengl.*; - -void setup() { - size(100, 100, P3D); -} - -void draw() { - background(204); - - float x = mouseX; - float y = mouseY; - float z = -100; - - // Draw "X" at z = -100 - stroke(255); - line(x-10, y-10, z, x+10, y+10, z); - line(x+10, y-10, z, x-10, y+10, z); - - // Draw line in 2D at same y value - // Notice the parallax - stroke(102); - line(0, y, 0, width, y, 0); - - // Draw 2D line to match the y value - // element drawn at z = -100 - stroke(0); - float theY = screenY(x, y, z); - line(0, theY, 0, width, theY, 0); -} \ No newline at end of file diff --git a/examples/seneca/shape/bot.jpg b/examples/seneca/shape/bot.jpg deleted file mode 100644 index 96f50413f5a2bd03d6da228d36d8f421da88a1b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19007 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 diff --git a/examples/seneca/shape/bot.svg b/examples/seneca/shape/bot.svg deleted file mode 100644 index 91b130b38..000000000 --- a/examples/seneca/shape/bot.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/seneca/shape/bot2.jpg b/examples/seneca/shape/bot2.jpg deleted file mode 100644 index d6235938e5fc2f401e5970773a69bfbe5cdcd0aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45850 zcmb@u2|ShE`ZvBMk&0v%b|GZUROVgDoMfKuB7~4Bv%6Aco-)WiwIKZ>%|Om;sHm$z$jHbb z55R8-X&j;ip*nSn@)QLXB_-wQ(^S-F8P1(ObLK4T1$tTr4mKz!2OB&4B_0vJOI$+S z?CktEt_ocfla!Q%^2sPji_42hNQxhKLU#J}>9c3fvYb1|B7T|uviN`fMQVi5QJn}n z;Yv=%1vx=SMovdYYJor@5HbpIw#O6x+ZWjh@{<&&D5*|Up8*?Go`;+uBPTy`lAMC# z7DCcS%~oSBuKlbe@cQ24pLqVh{sbxrNJ=9bpB_KxqJ{R4wT!y~^&$7bi|7Z#V6 zS5{G&?Va7d{R8YF?pQ7|2>I_~{VCZ$$wddsb>ien@{^Rua*>_z0xxp9lN6W5PF=XA zL;28^o=f}%6~pb=jIyTF+!DH5j8<-a)J!~*vsW<3qWvb>|D9kj|DPoLQ?S3wH3m6L zP6jHEoDKqm>`ua4&Ku{8t4Fp|Q(lSwNM7<#eeUA=v`Baf9SQPalmx+swfEVj&BI4r z7Ius}nfgX4I}df#qRh_Vh2LI^@6{P#)NZj93cpnsd|Eio=ZeL`MmuYJMz8jwy1RyX znQ2PfTSl0@uA!cMlemRczxQH)g+vqW!A5 zPrqui)6j-A4B26YkK>{VWS;4GW-St=rH_EjCqe!;yJ@_ZL%=JXq0?|)mT|F`SJCP| z`kF9n^5S`E_6y=ZS*amI8Te+PY7dG#frep4Qb>@{tRp~&1ohDiS4J5`_bBoxFJ!Si&S{0-CpL)z(;B`R(R1J#?-34=XSfseQ732fr=~2 z>lfT0WQTzS`O7RovHmj0T92JoEhl-L?s7oLo*E#gO}udKZ-eH6gYuIguR?x%p%Pq& z-|WeM*hW<&gX^v2*P=D^r((e4ntx>)O2?*Q3Yx}~W7E(v%5%E1l_x7N1^ame&7&?26}wqmCLz}auAhW_&huEBBObfBYxha?Dj1*o2266Eho ze)X^GRQ+q(zQ|$xHRp5(?6c7hky87AtOm$Cf0f9cH(B|Q_Ry_+>3>zqu?7D=B8a17 zB?~5Sz5BC0r5V^ixTL=k$Dhmpmk*3Mm9PIP04S88Nzx6O&%dc04(P3(mC zU^!g=qlSCi4jHdW`T>^#8w99h#J^WDyOcaz;CKi8|I&tgPNkjWJZ@feh&%zp@jsc{ zUACv7&2s_eNjpr)e`m&pGXpR3*8PKy6acXs|FK(6dw12!ZRUMn;)D2>s!uK3UD=MO z*{<3?8^|TQiBcbL%ooAmD!q_7qCCv}SV(=q_VCRL(metmZ3F{mx^_e?zvw0iI{f2n56! z2{OG%g0PjJs0m(3N-Z7H8H%@v4-9 zLFon$8&hS-Q&qfXE)f;Iab$@1Z8^X4i80}1xE(7iHzJX$U{gv^Q!q3mZsRaQdcx>? z`%S;+zHAO!r~6dp>7+qvS!glNl9XSntlHCy@P+DQ!LibV1+5`zMVT z*6tOMAW3gXkj)H3j}Y03^09G;l5@Bl?-=_Yz5d8|GV@V+&iT5~!;@sI3r%%swru7V!=H@^VjdDuW2llmKt8BmM}wGJ*#;Y^-vpA>bw zFJ~?DM4*&x9uk3xkC+j39L^$Ia+4qpuVt(*_~+j5`Y@B5GScyxDD3Cu>S>d2Ml~o` zvG3MKckijX4TQY1EM3WL%=s%vqi!jcRImL(m#4cAkN7E0$ar!8SCZLI)1z!Usa#*W zaK69T_FBeG>$g{KZ6=g71vYx-5P!OuHp%hSC(U@&%a=~#kUKI?a;-Ov46lb4c*n^J zT3-RZt$ou%_50XHwdRUjH2P(;WKQ*7-D#Y|l0Cu|_Inn$hevt(dB`?c?yw(zj3H-V z9xw4oA3KLu-4F8Z>n=@q*>>Ec|JJiXf)wT9SY(~nhf~;@Lfx5?tc7z3gM!aqFrB2& zi&J~TK*m0MPb`LNo)L=YnR?iNL7QGXZ}dl!qUU;JC9jH#R^6l1i%y4c&Qfv*?Rc!* z`#4ppdpi#G>|kwksfoVjBV9#^z&&8|g~1O5!6#wQ-b;*o7{P6psNXnsk} z`^JUB&heo{DZyYX{Tcdp2O)X0!dqD)dBTIfAFg^TL|u9mYZEi`ZG2d=x96z-HTm+% zC<%+pgJ#18mR9>qV3W7^zNKZ4b5-JneEN!NgPnPD?9KaXZG9CnowrWqCi(efjgL*FeBTgu7I7II zRX%Z{&eVuPdIByOb&tlEdO|kdci>+3^iW(ly7u=Z@n;G?o}w>ZT8jfszvJC$JK&jbz2U~{$cq& zJu;8-W#fdIauf5L7j$Z44WYI1Qmm4;FMd5kN!;z>easPJ8!_OndGm~>y7CF8xWu^U zZ1%b7YRX)(tPE|8SHTE`^)$mb0b52^hA=MBnQJIt3xh<2+2_S-aXr7Nr^HKhPU)t! zBw5Cwo|gF48)x+^$XLPlx>sM_KY2%wsz5E5?j~J-&@F~BNF~F&qBonYj?G(&N^;9SuJ4-U))3^6-yF^l&e+FWJ+ODz3A%Ucr76?np4QYs zYL&y1oKQE{9dYsK!C{Yb)0Bj2%_B4WVVn25O9qjB2|JP(??0ijg20+n${e-Zk;VYLWRj9b6PST}S=7^NI zxL!@P_m|;`9GYlT$KOqO3b!CZdIzTuw)(@z5r??r9yRRG%`O~>JBtWAZ{*aZ=neRP zr{c32eDD;q(cWK!uC6$G9}Ys@*i~raVt&(-Jryc|3Kr=FbE+jl(%&ODXLFdV;5$1v z2zV*_iUX+})&XCMAWa1r@uew1q-ZBWS`AYZFayP7Q|-q6>s1{*K3Qonsg8vcnz0qW z5SU(C(fZ%sm(1Kp69a8Q$IxR(?LdQhCRKFRKtt++z3&I7&0m|FHg(A)h?@G9#TI6& zLbJLDH46tM2>TFU`2cc-56oC*%mKWCFXgxha(T(+Xsw^{`H$}SG{lo6e4`j0Zd22J z)*NiwT735<7^VNnQuQ-V;i344+`US%5-PwDUyd(* z$M%=yXSRFR@s>WWBnWpf2xp6U5=8mRv-_F}2<^db*Mp^SzdB+tVssr?VWlJxUA8iF zGi!yOnwNhhLE4Emd!X|j+v_tn$=Mxg@ECcZB%l(0Zm^916w9xz2uefiwE7Xb3{1Xb z`aYTjsYK@th?K0;pn}Bm2S#{J|iwWev`zwT}=E z=H&`|P&~^7fbon4FwEa%o$uh*i$1NBNkH*W*_Ji~rM<1DxyGjN*E+Xa>BD=X01ZQ1 z_RX3}62uA&i+Tf8Nsv=Fpm+=DuP?}*X)q6IiUd{1Y^m;r+16G2{F6@AHhCfaCqL0M z$O}`|YQ(yI;oIP|?O7oJGiSeD=BGMwkiKRHKitd*X4>XSknpS{rV*ka3W^o01_N*O zQXL|+LA0ak4**&J z;J%zU>CLBzcX3=U4Bl+C$T>UMhC>o9{=*Qfyx$g4B53Z+K5T8mG97KnmPS8(vE(yi zSeY1{13!f-8R>u*rxP4x&Ly5<-_H}RN$UW!B>c&sNIhfVz*z)YL=EQW4DvKzc}J!R ztzxCfQiD6d0qvr~>O2+MJXP?KiHIASu9WMJ46LC0e3I`5-WBkL5d>0#nJx z0wi`Fx>Zq6kDi0#PlMHlsF8QTH(D0O6y?is(0k?YgofMWIZ1yONhRej@l{ssE3 za*BP{byx54+1+2`a~GS4gq}GPM8fpEV*^$7QQ8$9A`u}D++f_<@rD^%hSCS{K!-m9 zXV9mIyJLx61;mP)vpKKY+I`)Q-tR8fn^H_sd@11p!@V@q`VxG05%QNIuro}8fQCa4 zmV`XFpCn(;W1jj{-JTzjzNmRBr)c#F#n<({ESfZP1S^3mr^CH>Txnh_V0jq!*H=A& zhbEv6g6SBZ1 z30K`>*WvC{uuq^?mO)Gs&+>t`wnF>{MtW(WHn7*gOg$XI+uxudJyzQgMq8X1XAM$@ z3sIo%D|8NcRT){BoN3w#ET;b2euLNUI%G4n-jA;NN_cGtBFcpX*?I`($;_(zjOqA2 zBnXOE;2bR;t8!_weZN?gb++hg2RHiONB`{&khT6QMBhL4VXCi7SN*1G3C-q&Tjxs*;sjs!bEtTVnU1u?Y5&MeO_8JeT#0>-TTdGSg`shvg?Y zVC-zT+fiAklC9j5+!r>n_wYs}$gLw18GYKAs}?DmLpm!@Q9 z^9)?D7sxb`@U%02DTX&XIl_3OIsNo^L2-K(DZbZcq1Rv-R8i@-rF8eM(grSU+)UsG z(a{CBD4$1y+;&&DotP>kT>QDqOhG4QT8Wm}iq-Ke#2IEF_{mX=3srK+VeW zb46Ljz|47*v1X_9D=}?!z-8r;2Vke&@>gf3FHXvuW8+)AhGRUBgd{d%8;YfMcE96{ zGJprhBuF4A0{QYW9qER}z0H~ECN_R15)S?_o2Jj8*(Cj8HYKuGDdp?ZZeX1DkY~E` zrdDuYGAJTuTDbypCWL}w+*;C9yus2?eJ_!|mk}(31cLTQOvZ7~F}((>1hg+bFW%7_ zXiM|wtQ+`1>n09kJ2b2a)1tfDqtI)Dh0lfexU|IC`!3}KxGsM)ogft6X-4q)XWI$J z_Z~R@f_++tE$18%DZ#2x>quuUZvk(3sfmN@qpuZRyp$M-5A;n3-VyzVFA6m!_{LaX z_oK(dNwp5iwb$!>6Iq0iWAhb7ZYcspk?1u!*x_mb$WJ@RFwIeBx&^lBAvPa_BxxE8 zJ+^R7LWupb#sB_F#pBElh3upE)5p%>?-2I@e)AQev-usT!;uUolojdju-~X24m#j( zzm4YzKU@dh!0}B5|L;AKAisvEcgDeL;_ncG{`K~;j&h8jx|akAQdWXoZUAe|L8n1I z)WXWv|MB)`X82|Iu9|d0w9~P}qy2pvU?O5Ye(b}P{-C13FrlC{i%#gTeG+76`tO5| zGJ*G)zfBF%ryK)zrgX$LO$?O!TVH*IXb|;(c0GjS{|w@hANcD49{+Uj`Nx2N86bKs z95}=d!hYuvqm|4KnZ=0=LM%7{j4hgY7Ss{QRUIHtrAMlQQwOET{Buv>nzsG6rf*=& z^T%E};+TNonc|obUUpcH)Gev_Qx~XfIxUbj+b|HA2GOxfly)CE@rJ_$d*{mN}axI zc^bMq-CticmzvWv63xrBr70r(@#xJx*t1F$?!t=#$LCDk1m;aKm&478ohOm)C%!#G{C=n<;EAX20xm98qO|{-DMTQt1Wri+l{>zcEnC~_h7{eld$(G{7BmF&K3796)x3oN6;!3M{l-;mQgomPW&{lvNZN}|5@K6rul56?| zOaoqfrNc7Z$x?BAMk=g^dNHbHh}g|~iGp8?_0h6ocvt`FJX1+HgJT+d(zB%e-X~;B zLW`#ll$!8`?6en31S)L0425A5=t99(yd35yM~rt^Gi63i#p)hEkbxH*@^GQE=e%6C zvs-feVh+@s`(YAcQ9imwU$XCXu6>^}0|Z=e$bB_P+*1n1$U?X??-Y0A(Sq0hM`~Q; z=2*^H$bp9Ufnr6iQ_`5t)ck>(&w*kBMM?SOT{>?LV;uD=SLo$X>szmNS|P9;27~qM zlQyxbZ3eQmz89)*Sk;JX#&i zCQTil%}J%nz#j-PEEE(ia)0Q^{D9IKr8SVw9b{tMc8QXNV^#5X1*@n!E0geVu+EqcFy@0I11$dUy`l$YodD^kF9;{6lvy#T?jJR{kv=fy+g9$%ge zBX%u8zsMnYXw+kXhM(Aj3mOdWCOPwk+T9G$pCLXBSu{QG7s;S=lj6U;SgPRLEMG~G zQl@Df!(L-&ssFRkI;ybAe_h}%TM)M zAaaF&N3OHCYi#AYr&&d`yO#RPM89EZD00E(D-LAWOzYwi4C@{%CB}NCyO2Ngi((6Z zW*FqZxdbBjqaWr6?WcI!5wWvKF{Au!WsRo=oF+vGi8q7(jPf_XzG`p-*<422r8k2h zn68TK+e}oO0;7G21e+@?0aOU1e39Z3MCNwsLv_8r5bcb0jrQJo>1UDJzCnutRq&-Z z{$iMN{eez1^iSZiS(H3>tDK*xg@gL;Ytv$jR4@uvsX1^}F>+D5!$;Z&Z?_e{3NCAD zH$AC|zZd@$^ohEh069_Whw7F6=)li+cE&7P+={cauI@|G@O907@{ZssF@!0m`|K+) z&JxdKM`W4A^ZGjp%?m0&tRz@hSxRinXNA$^$@O}4Ji3+ z`i;&9)-siw2d=fCs>a(>-qD5&hMxRa)WGe&SNBt26lL8o+nOm?(|Tnjk;n&J#0+py zc(C1zcFMV2t@2i`?M5h7LTBRno@>_&2#<$uN66pF03LS0eNxXf4-23*sXG6fNx9gpo z9z@wIPIC^~UJ6~}ccj{KO64H5 zIR1I!_(%p;j$jFShnXvAiYWe&AYf%<5g5&~r zB*>_;*PzZbpXo8|`1F`Ww@3rsm(%4#FJP0&?15leMPu2MHpG(a6GhypNDRPOw*iZ7 zA_z`A&Rko~X<_;0ucbKzBt*You1X%$V{8#uzJ!XqstY668R=(>iqAv+JT%&mHRp3e zci=d)wh%HH+HcE|mh(z)J1BX_^mc$oGvrUA$A;f8#Y-6`+e7BjTSvW8nc2ywopQbH zBIgrmSlJ&0Z3xI_O=(GaFd80dRSafsZ)6y8q-4M|iu83EW?5U?99GkSBJ4d>yT|bR z>gVpy6+JoUk+b?9+UFfCIqPnwiF8>>rL(^jb9fm+V1@ z<3qPcLuiE^9tLi1153Vk&C?t!L~b4D1yj_5`^k_H=o%*pau50A>#2qtwH0;!rQhx% z&UScllSideNv*+X8$?~i>=pUmk{?(hoh4Ryz?c&WGyUFj_$=qNbdO2a=t{QX*^IX@ zsXDm73akCIqk;GWojarhuuCAc=Ms>Es zGEBF}`kvSxD89oQ0bt-AlKgC`tEu7C{#ZK{yK1_I?o_0(JWQr3urgCr?(C%e=-E!} za2#5F^Y0Dvf4Y~JIua!2>n7pp7clF}E2Ya2_eL6W8EH?e9=MVq^6`Ug8{nS8f|wr| zED9rcucAY>4=+}_;MSqUu&B4bc%+^$@~i@M#W^4nxx4{r6u zKRiJ2Ju=DsWQz%or@L%v0!&2XT@6T(*&733O2>HsCc2(LTXk4#wyLC%p@ zHm$z)G5_4%w@w7#z{(Q#Pyx!wp}}1n83qo?GKM0-fw;g3PX?X4zmB!x#;wWK7H0D6 zwE>5^LeUEJ%wruaaQkI9*)m9bn6o;Z;)-L$L@Ab-{K+C$GQD9KQv=kYPFJmOWFO5 zlDJ^o{Mlk@$>f?vTN4AJCoUB@*p5U4J6{@lmsUrEF))W>x#gQ{W)M&l5shZe);|gus%Y9IF4j`tL7s9@Q8+vbFz#0lOAt% zlpnisx?>zV6jSr2Uv#@w@ElzOtFu3~mo4=yTQPwPzwp-wMH9ui&D7~%^Km@V2UnnI z(G1DxP-SxB;R)PrG2C9^UEGH%*{s*!1UyB?T$F$9s+V2{OU*s(j;J-to#Gn2PWDZ; zBg36lws_nw;zpbauiLhq9A{3H*7YbWL02gwJpUCm;*et@?Zzid?y71a9|FksR%2S$ zW1Z~S{5o2ZiGuN&38PJV3hi2EX;YzWUY3`KM7DYAJoWHm_^jRHes!MsIKO0#tDH8b zLjrY!@h&|Rpf=8aD>j8&7=LdV_6n_Amxt!BIDBPbWbLF)7U@Q>$vdN8A*&`y5G}45 zqAK3eNnS6j-Y;@$+E%55AlUOb@0p*Z1m5OK=U5T~e}*%hFMRja(dX}cM`h{guspsf zp%7f1$v9z+7UdY68D7@=#`W`9S09ktTcAiWnTyCq)n+#KMJqV9&8OGaMH7Pshl{!z zAmeWWS(GoaNKE!zK3EVXc3EbrZM(9By$g#fQGNC;jQ`_bVt>I8n8n%&Z&4k}LV*t2 zjI-xFJbSSFvrhHQ`4@aVjR$?>8Udl7QN`zomD)*xHiv1n$_$1ft4)71dGae^GINh} zZepsNud>rwy3d_Ey&Im|w^;HB#tncc3_V7&2X8$4G&QbJzgl~Pg&WuJu$=OK@n>8A zmwq$Yz|YF9kh#;U;mvFnqe|Pqy4%4DQraUDWCfO#<7eaVQ)oZ1f(s1|KbPmBOCv5v zw+UClOJLq%>_T3eR}%-yPsly@ttPU<*xfg1E3J6~0e+1SlQKn;&jxjr)n0jXM!{1y0W^5M&dVr&TX{nn8=T+`5{ixOwl>FN3_)Y%h$F82u5qQJTn z(XB_s8N$)<`y-u-XW~0CZLg-Pej=7;08?CTehkQ3|4qnC&NgFb42H1?KNkYE?;JBx zg#ahk<$->!E;QIPWg2(zyH8{XI%bc-1+HA5PJdMIA}+-M`*4K>QOd~-yZSDno=YMh zJ^lMuQ=j}5a0fCPNBGUv9W*t|CW0e4gK6Pc+HXPUih&W-F+|VI$>!i0JoI&xO*)@K z*(UX7IcuuP>pCEQhkYX*jJxgY^m8n0_^Wmq+~lsnwS@L;*Bx9Lykn$$_qUS3@6PP^ z^1wg*PPUic=wqn;`k97oyL@M0-FIT;swcQjQ68LIj@8s3IAg16)+D09qznnnA6ow( zuS1O9;SGoN!!0;@yU3S&f(G(+aPfym0VQarF{T75!hnDNwW2hOI)2%53b_UAD6(LBG4mDPLS_?8M^Qk6B9-Df!W8sO!!LjOIreECHIEAnOjzwK3}d`$Kn@{$PI0|gRlIlTs;se->E!OA zm$U_J);8Mt<5aKfGeV=HDN!kX_zQC*h^jHk{Emaz?*uIm58av_DG4D9RUdsI0LdL& zhjp5*OW=~TF9BJcLGQ-)ldwf8;I+{wLG>Jqoc<{P0+n_=trE_txKDYs^6WgT^6GVh zCwLgof5gYyGjF2u>tcP(-LJaJU|oLCz!xWK+$SV8&RdCmE<3;I+I)FWZ>(Oh#q?Zn zh^M_!siMtMpBg1iYBV-1dn3TvB&GS{hLnA2DuKqxqF>K&VC)(sRq=7k^uUT^+!pX= zLmoQ!PP7pazSvn4e$*GgLz|CMXhhs9g|?X*#Xqf$(A?H|)u5u8flvM%TAbUrsm~Tf1w+eTirw>|@siqvue)ouX77FY$}x=fbv? z^#JjNH;&FS&sfTOA-?)=)rMFRR=9T6{x*1iaIgd>2FSJOB$L>y}F zPNd5j%-lLd`XN|ACP7q$103Pp*eCRJk(X$+#~*^;qBX!(U+o{v@86l`AJ53*Fa0PF z05kRd<7&(|5~O<`1jRA5)Gan9$G}kVZ{F{eHzpB`z~Er%Iy3Ig8WCPlVv%tSx@-{U z;@n%tKk^U+VPOBOFYRmOup?{_myXk-c*;r1IwVDc<0%d^$WJ61&pwM`w)?+L<$CINZTd-y^W`-7{*c=b% z$LnA-Jm%1Sv6kb44z|;fH%Fraj!b-f^y|#A=2?RZe)0Pf=fK z12Ix_z*{r+JKG&I-oLtNmS?pilbRI8!j=}J_dWXwX`Afpy59c4XCItxLvz%fM5(wN zMv;v+HZmtUU$J3nzE;grw(j-mLTS9?+$1sEW0o?#vBYMeYy}8e{Yk#cc9m}Uj*-gQ z2=U^)OVK)-f3KG54^|3l@wRDpjVAKnchlAlfNVIXV2~}5l#RoA>jORq-8EsI7tThm zXdf6&5LprL{IxL>ErI;Q!5Quz4@0Gc`(b-Jh@X3k**m)*`;+)&_mdXUPQCXr@Gud7 zt^C8tckA38FWGlF^CpI1G-lz*3#&1734ZSmXmzUXc1xjmF_AePbW_pgU4)H%pc%ho z0Rqi7N}Fj_7c6D4wz1y3RRp`413$avW^7oTxr?em58|l9`14_Me}=qsL|%KrfZ2HO zq9Zgf4Q)X7^X5b7w>phZjCjaaX(`L2fGEAg%aYthi|3JL$-~-p zT=R+{Wq4F8qupwJ*avf)a%nh)qqw(b`}HJxj@aznsRhmymf7gp10*%BsKh^SUK7f# z6Sc0|B|D3pf)btt8tmR^COk$@Q4WZ5RNXD}5yx$6zm4B(ghkp&20Df{*Gu{I1wdy9 zwqzanGe0&S$A!!CfkgOosb=)!`5hKw<@W0UWsHV3WwVn_yT={yXhyaU!Ete{dhJe? z6rMi^Z=K1H@}#09-Z91XH|TE(*}^$i9ONujrek||5rwGGKNsR(Rp9@{XZ*J%N*$nk z>tGU=p>2LPeOnd{-`hswt_uDvQSqEqB7Q9az?81ncD@ZaP4Gt$!!@|e_uvJdoS$}q zBl|uO+vhncScgDPJO)&Ly)wqOxsiFSA$^|}AtjR+h;F|4`6fk`OsMu}BtD|4Uw$i%|Y zh?Fv;${!K?zxzp< zGw%?!x%yb6ZAwN>ona{jD}yAxLFdg!mW-u#_Eb0~-sg(nMu>b^SaYmc{qXwY+p}+k z&3?ojJ#?d-Q}(V32aiMwTkD$$`^z{HlAOJdlwx*1?GqUY+F!kU7|5=)wu~5EFgMrY z8Bp_*j}x=CMyaE9`jjDzWwRD0yKqMP8*_$Ha(*2-@#miFOY=aV*p{t)w682X*kkPU zzk#8~rZ=+P%RqX}(Vc74RE(hg2T8lGR=T#y%BWK?b9@#wyrWWP9O3ba- z(;a^1Ub2~ODZ+XZBrH@Lo%8~tN^&HCqF51b=;k@F#`Y1hY_hHLxdl_*S(^Y;0`ufk z8)n+rh~XzbX{R4>Pd=SKx?H?ep$H4*-yVK#Fk}Xn5keHhGQ$M9myfBC7KZI{UBJty z$%7GCbr@{Ki`WIfKJwMyr*?FgDxFykjr|pl(4Vn z`#TQb22TV4fTb!X?(v2q*F+EfsmS#i0ae$_H@Ika74=<_`e88&f zN|{N4-@crkx{!Fm(1!p99aDC&+dp&Je}{~Jeny$^&x(zP26=``PU_ySRoFT4!-r|x zgEsoMH0-9I(U7Yq`_^#^eh0GfY0(B7E+s;3&LUjlqwmNM zjo$YZI~cKEfZw~d#{S}vI$NEOXCZAV>Y>3L$aEqFgw0*}k{4S@q;MvMkd=LUdG#1_ z4$$b`63OE7SL@s4ahcNcW_-i)JzfCV6<93NZg%rgKT6k{`E^C zgy3bAGw>%7{6Pr+;U}5K7;dWFe2{JKX4vrXNBZfdw0fcm6a1p1+vQG$&d=%htu$8l zNRY$R=Af}&bXit#dzQW}?f~0tJ>I{{VXoaJXrc8q7?vktKT#`SU4l}I7S{tO)|!$a zSJ6F+U^3J(21Eat2H_I6TMZ0@Wvspakwa}udyFVi1;mZzGZF+RWGIM@*mVGE+6U*s zUViPo{6EA?|0;(1kDrx-QRDW-Paw^JX~6Df{UX(y+BaH!&4H=9P~Zjw+5R~O9TT?K z+}8|*S|F#?6$%_bU^WT}(KAk#Yl@?aKdixxhzb&fzkSaACR7yd`(g-mo%eatD<;(W zd$Yv2@^uV7&^HD>9&o=!n6Ac;K|QsOLe zRMx>_mE89W6(B4Oxc_Ru@7RbIK@w32NE#kmyCgFsf_n%kN*d8-N1Su{#7Y}j;z{AtC7<_ zWR-#*fJu3u*oX;Ond{J4CRUFFGU#~F#$w}jz=Kty;E|8JHqJ z{9R$WX5i_`VHi3Gv7J^wFlUF4oZeq{0WsQYg?!Vil6UkW;GS$4e@V3Tu?hWeU4p|z za^u6~jgmlBT#C&rsMnL@(&|FOF06^;+9+1QY}j0Cy-Pe@AO1Elqd@avyL&%~?(Ux% zr4F%=lQ}l>u3tC1-4F5?9r+9F2imrVo7HKWMem(?t@=9`C!?S7@r=~r-9}!Q2H9uc znXa#o?|DmmxRfff_XL>ct-nypA9@WE2Vv!_41muNn2B`YNiq9cdvkS$OI_fR;)_cz zgUN?hZ7aV}Ob1r{i`UdXQ!Shl z{V+9?QAnNuZVOtq&zBak!mC#H;}O8+F$vtpM_TvH>T}GX@`9yqmrZJlq>9ZmpV_8g zYv$f*^?GWqf-hf#}8kz zj)uqqv=^d5U=Kfw^t%;EtX6>L< ze0Ic}_bID%;4m#PdFyxO$bEl)k4^?wG;~$*8ulx3eW(K17)R{&Kms_F{Rabuy?;g@ zQhx;N#Kz#?-af!0=I^_C#sowb!|=+G05N6%Ur1(oTUnHA)$kaM$Xl$6iEsUWkXs&4 zK)VvCKGJ5cAjm`JliuhNo~7q@z(!T|z+8fDuo8>8)L8eE0asxpO#n;LrjY$G!EPr- zX>VWiGbtRm$x)0PsziC(RSSyf77~PV`hiFpyATlU@fd@RjUIk3ixMbF%dyVqJrW%E zOK5XHTR6WfAp(8XXFws6HA+>CNUe%Sjy z26TMSCqa^zintgT-zN*+K%I>6{l5X`B#)eDFRBjQB!KAlnaX0m`VB>ujimj)2bQi7e{AlC+(}smz zavUG!Yzt;_gmsmNR3`K#;H zjdwu?jO4sp8*!y})Z~L3MyYz4cuI{R7&}<6hj3(N#(iBt`DVO*1t#69(40p)H(!R` zKXZ-xG~Y+YO6!?TI+XPFF=6!ORqhrY*k*1c;W3-mN`!{s;4b2oYdduh0u`tZ+x|Aq z3f`sRBxSQkUTi}jZ@i#N%&s-bK%EKsyL0I|Gcsv z9z1XC59U)SDdBq(!~t$v!bwAm-bNmo>kXG461%_D5R?E7nV1@rxwl677Wgw529xU} zW1fv1WL_$;;EBM>UI*wIymj7*-YiXV+PN>DNwAk6h;KJub}z)KMmD#tMaYVOptGP! zneSy-HD;=v9B%64b&&%2eh4yc-fI|`5MEDhE$1A#(*fuh6ujBf5}l7Kb9p_ui#Dqy z?%rvc9t?b0m&!d)`MOfLz+Gs}KQF?ZuPgl^38YW|MUam|>;Sv`M!wIrFPFIcW@BWD zR>el`iC!bV9&>(z1tqy0oUGK)ZX>Tuyfub5*+BHJ>|5@LyLE8RZsZ^vWN-anvj%D^ zWv&Zg8J|R5-|rtk1ngeV#{>m)x<6Ib3Fb`D9U!V`sS>cr-MgOGrr@H3Xat@O_&uJ@ zidhy`vH8QX_RhKBBmblcU#C3W`XA)dP2>Z22|#j5{4<;_1Zq?V=N})3v$y|$g|pLJ z(LsAIY-qvU)oU*sofGZmq>YZcfjm9S!))S@G`265I)x6*2T3f4$=8kJ6}w&n5;vjZ zI+h3XqNB@e!)}(|y4&`Xr{--uZrMTCq{-8*U~F6Cld?PalDg`u;+R%0$z9id)6f;c?vy^mGn5al`Y?3oI&Fn1lmEp zw3Mb9dN;1jRx11Ij>EoU3Pn;I=-xsLToGz5Z@8%y%;NRoy7lfo&Cz+#&cZ$mYB~#A zQ^^dDSO+Yn(KC z&}cD?JDIBVp|@S=mC!a;j$3CHnh-)5yKi1`uI{sy@YGNHQM0#~Ys=Qx09uVbUqSkp zl~e|i**>=MTiiM+j;OI>rmn$u=U^4wqZ!)aIw#SYOC z8l3J~?<3*^^}vN8?~lvNR#;qhD_3m3)9;Z0o+ub_5{7U*e0`tDL)|_i70vHoUv?Dc z=a)Q%jJGKuFXE_N_KjHbJ2Xxs8&iB)nMGq)fL@e-+*2EODcLTeJ6^_mBHmE)@l3;4 z0TT;rix!%_o@w)n{f)Gx@Au$hpx;V z|A!no>g1_~@$PHh3P!{6x0!H+pTYg8>leMsD6bf;j#L-m4L){dH@W0D$;44TI-&pY zr9_+i>No}=mr!NvBc3Xw{i_GnWAmVsh5e=YRfn{c%YIgQ*n5=yrG`RVsOC6lg_j`m zy8m$CPh#68ZDn*UXbm2Mrz@5`VIhI^Lsb_enMOH~Q4=gt0fFX$m4iArIh70Xlmm+s zxO*k8&Xae%sCeMHDpUl=m&1w|uvO}3S05$y(ax6#EE5lG==tCmmI)~>3%`@pB{rO}FS^tbxFRygHux_l}P%1oW= zd$8V;iUI`Y9Vk<%d!?lV3%W9{C9pgM2M%a!2m!@xW(U}oTu7-FQ%V89+CXHTs9GpmDzPH#&C<2guT zIOA$!I@&WDx9W(`Lx^Kj!L%`iP&0m9jWR~eN%R*G7omDlU=_o<=f5pL|JMGhfypm{ zm&P9;l)SZ(d`$z|Uz~2fvqo`2y$J#QvQMjJe-&)^gS^V){^g4ob2(K>hL8Ea&H#GV z!uI`4j=6e%S2cKqmA@AnN`g?MgoW1E9-be+UG{MeJRN#afQnPBqiEi>H#HzEV}Yha zLVKmZ#1(TQExf{4@2N+fP*2Z|jguN6gMJxk3{iX6es-ez@DzxvX0+?#2g zr%l%!Ot!tT8Z7VIG{%s1d7Vv`j2OAwl_4$VZ9j|5rd0TTsX{&kMf<-5*bYoF(_u+E zJ#&vQt5AHbqQ-av=LYUA|G;g;c|_i9IsMq&IWjsgAGGUH` z`N*p0_Vv-Z@6if0zCnl7JK(=Ln6eFfbd`%;{L{kyz9^UH-Wuzze$g)5td?0@dd++~ zn3J^=t0@8UPT}0a2_d_zFkQj!k1x$q-psr{8`s%H#|&~aBv5KEB&c4F`E|XRT~6-V z{JLdVyc;K|>sxCSchW+V7z<)CM&?emjb3SbPH9`=Y8~r!a!Ab2=^X!7OC)CAz{FEn zR3l1R@s5jRAN-LEUvg~e-(w}kFNIC=uE%sMfNp7pk!`uUtke@Eov zP_OWz2WO+v8!V+ZTT*1julHU&ZazI}?`|3gexz;tI&YTJ^_hxR{5p&VIcu0O8Eqzz z)jiRm!ZF!pF(Fwp{c)Ewfr3%{e)Y8$x_cZ)IO>fEmrTVxwG0tYiZ^c~C|w8l8Pg7` zXnfvAA9&~Um*zKdQ(o^?|M}>`%CpEiKHJlL)zVT~=CEMTmNHxL5d0^Z&YG2w>0cwx z#jHwKPjcSkKzAXuzBw;5%ndMQRs$kqMnA4+$lwJt`|4r)E6P31pKk}E5QYc)jMk=G zPmGfNV}EsHv?87_3rw{SpiPALq=_{uQZhV0biZw`Ghu$zUqdNSl_p+2Stb}YS8c)a z-Nnn*P9VXPPr&b*G&de+1kY7`=s{fVT~;<84VTD_Te5)hisVW-=k+0Td|FV3a|Q}Z zG2m&=qc`;{9CESk!_^$lJsC9;6o*hmxxwtBo%NIC!o{c3p$yp(dHFngj#e8j_q;Nw z2|GWBXg`@RbHe9iEsJfF71VF#KEZO4Ao`y$lET@hghC&Nwx9IRR|gmNS7-u?sxf(Q zDg|G&DYvEW3nh4+(pu8KdtMBzV+qXRrQF?TCv~J)!XyiGG@!Nmd#7qy_bwvn(dvHg zY&=i%4fNU1vcK4Hb4)D1=RX;x{&4+`K_26yDztk}zy2FIisG?8)6;iOL)ugF$!Y%| zW#1Xq)Vj3`f})}z3JM}b1x0%AB_h&Aq<2v1gd)8Y5fP;d2q-NA(g~5?iS#bL_ue4^ z0wE;vF5G*cvhO)#eCJn$fqHAlLh7oO@B2K7b0Mp`q%TBkK#*Px=VHp7?n8BOeYQ}Adt87>4^g2$Y$fVo2i0BXA5KP3>0x4v&)hE8|nveCQw6XjrCCE;?TqFKq8v> zral*?5JVk<=Z82(bGfv?G4KfYYj(p^&~EwAxg5{uIi~`j`J}IXJ1bG(qK1QJAqr=z(d(+Pm0$J z#foh_@>$+oZzLtB`RJ?n5&szV)=;%DKfCqnfbJxh>VT;9 z`2&gru%RtXHO@MUMpyyad0#)jRf?huZ(SMr{QPAv{9Gs3DTVvgvx z&+z3U97=KNtT%yn%U3`7I_N6WpBC`6Azk}1)M26mKQx=vlvr5^7R63&eb4n$r;OD+ zT>&OBf^~r3+C!XmNL%B@i&tWP909E&NX(E$F)P1RF`xEBgAZG0y&dxdCgL-N`{^&e z%IH^AS+6xOAjxqP6tQ)N}`|{eph+yEsuIBjOlw6b!kk`Q+Jv&My z-GH9M^V5!&V6!zind06(=DySTg}>{n?*oE*nXT92A}4>sQ&iPNZT{@{C4e8`^MTev zNoQ(zjnVESnOT!IBhSaz%JZ&sYD-mZn9AXwJXQZnfF$Qu==v?=?(C~^H}?t+NX1lf z?QE&?OLs`yej<$x9I2CQFr(PTz<5qf_qpuVyT319Q;`YTp+?9|uQ~pR>x5D`bf-S3 zNzUb@OJgkhaW4T!W(r$4M_8g9I|Ip7yP@89@P6x{OKBV4U%x?B>&})dvr>h;!q!7} z*Z}G*P2Xi%+k5*-ue+tdK|aiskGMvL8|g9MP}1G>v?3WzQ(cg*MqYRt`k*j2nPa#- z!`Dh=a;oblARQ3}#p$HSDz7z;%7mi=(wH;nrA6HQw{Gh%Ngw4jS)&>75SLoUAH`mI zlDX6&i{7`Vq%eNoikmUwZD~Dj0e8{h4|?vwc;%M{0hYl^Gss;F^nvh-c82Y^;Oc6; zN~R~hvOf+H{d8}G6UJzwMtY7d?gvZSk4BVNS5dV9Yvw@a0OsPGIc8Y(5HIecIMLkk6sH@?mw<=Tg7; zp3Dov$b7H{@n`K%nO?SK(=V+2T}OSQL)zfy<-Jn?3LfFcC1;d6EVa@#t4Ik+n^I}| zNtnP<>5rOat=mFwE}scL$tS4UD3WXVHouL13LK`-B5{q|q4 zoV?n|v8)-EeNe5UlU+bs&U?~OmM^|AfDy)QFo~*j$u}=fYabm6k%}Z(E@h|OCM;5s zZgDDvJ|K%iv$y6t|AzYxI764<;3bP8=xo?8lE-Z(>Y_N8gf~DJFll6wM+d&cU5_J0N?%AR|-3_rO`8 z;h9$GsJ8tYGsB>ixWn?;BQTjQrpML?P9bvTFXW*{+}mD0e$CsUekSND8v>z%7Zi!n0Ru$?`?GyE%cv z{<@qR5GQ#HaOT5eDpeyW$ z>HriTXf5-mPGx3>Qt2wCjrluTdi}*`c^P9=aooQJhNN+DEJPlCuc%@~s0-5EN*X6) z32-Xah&g#L#V8pPWBoRsjCpp}>R^|i7wp}k;4!BK9J7B1A_LF}ykP-k>`Rl1PMlA_ zf>DXF>ExdvnalE1S5m_bKa-PiR zb={k?tG_R+_l?v6Uz%B%4C$235wCBSX@~2#@RBs+-YZ9Km!ttZ3MS!2mZ5Etx5xLl zy}D8*{%ZajrbcM8h6`tu;kM2W;eMlh59Xnh8tWV2n>IMEkQ*V{TH`~Zn!c(Bdw?k@ z%P6c)_viS#$0gsa(a$;8IgV>oE3YS(rF8j^Su0cdf4+&6)fafDc`^E<>|Cge=z{P5 z;5K57n^r^9@4K#IsKeEx#))Je0hymW;2Dj|fUmlBuJvNWECYBppY9*Zuil*>m5OPi z*kb?(pI>WK&_tZQyn_^M0C2B9!b46;!(sCQ`K@r`1$L8v?M4=?9@L7I+3EimH!(Su<;R78~y+Q?siub-mxjsn`4cb4P z^n77>lP4tCD@a3?iD!6+&GA(otxwS!MHPIP91kACTe{bS4;&;!nk$})0k@eV8r0{B z$nX=McMxp4PHCQLL_Qs{$84&LF`qrA8s;9eHD0czL6tl~RYo43SRUqyUlkzkun>O$ zpZtUr?q%JX(ukC@%%W5@D*q_bi}oHobGtI}=abx@^jBr^>jp*ptme~-E0YqDmFr*ER)}VGxGBOmF>0bmk&;|QCEkEg0Y@dqC&J(_5S6gmgD$#+u0X1V$CI5+1jKRv(WgQ>nfd!U@!gc^WYqby7L9SqW~ z_hai-uU^1~L!-52?i(A?+rxv{tMzyThxM3<*`PS@1Hm50leu^$Sk}_Z?1N1C#J#0U zr7=}YMIACrqm&`_E6!S7bW-Xg;-$lh6XdtL#6ersE6_}joA$oXt-;MuS^Y!ZH)0Fr zQ56hCt7;+HTXtc6m-M&|Tm?e}5j{JF$d4Nj(u<{@0RZDaTh4#{In?((Jk~9o;_Hsh z8O>J$kh>?^n{-91Y0d7Ny#+T)66^@^iSc9Je0#*8^@msVZ9m_I1jY{C zA(p}aFiVp*V=IV{1c7dZ(`nV&xGV%8eq(m`x7)Tby9K#N13M*KB}11Bz)R2TfzXXp zd;Q-g2O|J2Nw%h&M_@4{(9OCEVvw*eZxg_}p98dX7!Wa5)>L>N_Fpd=AQwu;+n{7C zKdXT=fSUgF6l7yI81_})NnL8B^9;IfrDpjq)}o{C}JbJZy)~al;6SRWJ(MAYHUhL`~sKy?qO&P=px% z6~&@nAAyom^Ak#=c_`FF&xa?8sF;f-Yb>8(=(_?h)i9YRWnI3)4w^QVCdGFY7Kd_B z2f}rA>?C5QfuT+I^IyY;UWA_t3b*dlxp93n%y+7UM9hG~tQWCr+GV^NS=x|`Rl#_y zDBb7{$I&ejzkniye7qI7=ZiG_nWF$@)LVImc?}hLiG6^v%w<<(Ypx z*X#MHx-=!vBUsdAz6M#hSu!v;xbjYs^i$;AVDuJR5?XB{OrX#JN@d6IDUyYwn%4bN z0iP@bxn}=E=Cg}Tmu#5trjGE**ANe>kEoq~ya8VvMI|&-Mo09GBV7l{!8)M6 zy<~D~{^%oJ7ap`{OF`^9#_7Q~z8}Z426kJ}9OSxey-c^ldWhMFjBPI}rD>DWoFi#_ zVPcw0T5EhrLDy>7wKT2B_I!#UIjVCjf;Mz>_^F*wTwnfzYMqv-E>ZS`qU)q5WDJ8F z3b<7>d}FImkyPZ~Pm3{s@6}C{OWTk<1L@KMT0OE??G!<&f(PHquP3U-Ot#!{H~x5m zJURI=zbfU+xh#^J#axZV?yA?ukF`-gL2Gv11Em9{5krHVA{ddk$u}Wxt~W+FC4{c= z(7Q=DU1Z6;TvwRh|&orH&EYKLtA=0G)!pbea^-|51#MgUy*YoB=c zzV$c-Mo1#sL}63QSJI}wy z-zFVOBr#NQm*?uHQ`A(mHr_xh#=Z59*c^jKXzC-}?_X-(!bm;9Jv*BZf1$_jC<@w5 zjWfM0vw+5rkH@KdYy`w*K(d+~-m&<>W~A%i6h0$=X4GPzbk~?_wJO)`p43ENx1ElM&{Heq%FZ;0GEVrHo zs|`pTcl$PhVpbBq=qC{DfGK^DZ!R)cOVoOq-zg6Sdl_$?`$V?^yi8eX)w2wf|dM?o^@!zOl8bBMXoM<+-3n527 zf#j@F?}rX$8;NhKk#7e`5vFa^a8K%n1iW1}$ldhq_hY%NBaP7&jI>ASgIpQfzowJl z^*N@sfm1TL^AStFjvuqdu;w!9;qH&KNXc@d~T1!fsALTIf^ zaE72(n^V9V@4LrnW+{hdLldhC4w}htJVn3w7U?~q%ccYbEepsnW-&3vS}7Ekf`WE z$%_b!%Y{oG$b&yH->w)Dw&8XFb-(KtD2WVT+K+n1CypDvCQqlhrf)3uYRFuH5%7Gn zr;y6tKBN4Dwj(QY=6bxfc7%e#XB6j~QM}sybi;|hQjfX|YZf>hwVm47T-%D!_h&1q zi1giGBqU`E;A_VxTLqva6V^}A8{ZF)c8ybLwLzp|tvW43?i^q&2`L*{tm!hUYu=`0 zPk1}v))eY+#8E7)e+uf`=ds(X;P(LQct^=k5&q*+0ok}wj-H!d3seU3%3dAMV z@UE0)$V--ZE!efmvxwOSlt35DIBfe6+*QP^LJj$`U63YTYJ z0bS6)h&AP;r>-v^#gIU&#ldkTYHBf$KX@w5E9MGE%Y5JQn9Q0w;O@ZZJvcb2X{8pV zqo~2)bIuI67KgXniP;}W&S(6Px6~4F%tWGCMnp37M6$79g zB@)0K$iCtU7TF6siLGtOXltX8`)Tg;n58x378IGQe0K&q~QRtGm zD{%>oyT|zedIgu9m~7|LXt$o_dm{wz`we0jt^A;*R*K$Aj2uw7PE)V>=jS0lZ|bR| zdCD?#jHFc-gqW^*EQ3(jqK(ET>6$cRSDHF!)bYJ(YY3XC1-%a%uSWUW{SD6&Kj*Aq z!xn4<&k)QhPCjO1XbWEPFt*Hk5q9xW4wY4J1}IV&v_n}LtUZ2!BD~omrQC$$90Z?m zamf;vvV%k<&4DO0iN#%vgPiuOqtVzYn!#?Dhd8P?xr0iFE?c4Wws~b{Lh;iH$H8vD zNT_#%qrwZ0Zn2)Efl+tbh*D==X|Yx@GhVA7LOU2KbeZ0ZpZl`4z|Jw0sfJMlJ?S^V z@gSVw>(5LltG~N54nI{95!c$`eDoDx|LPO#;ytTV3iBV<#sVbGhMW>=8?!EEvv3DI zE5*AZZ>RUsPZ6zYm!SG>TbO~qf{L*^h78nK;g0%SO%c0E*7i`J`V5p~;byD8s za5c}72q+gK)v?a-nTI7$pO-umAm8!~c<78B0#RQb$G>nm47XtU9Jr3W74QWihvwWs zT36|Y@_x5`HGW(j1vPYlDJQRBzL(M6RLulH9JwGQ)(JlG(5iyZ^ftpJCDUy5Eh61d zLpz`NI2KCPt|VQG6>XQ=lTgerlFKsrhY(Ap^pkTdUDx*A#dkMNp=btft(HOmBpdUa z48WlT{Y5eydaX)a0iwmI(TAWtsM|h{TSOm)vKaH^HABm29q=O=uvX%|Dov2?XEGqA zpfQ{H=B(?1R?!aEbq2{i=aXpemY$ZWETb<=iE_hBE^Yh5bhKI$n#u-eX|+s7gm|{- zv@J?*kv^RKzLAy(xt{n$atFkt*m0Av@{2^KEV#g{fn}O1DJ04K-`F=R-!{J67ktEyA2JDXRQJ(~T( zAjFVrcB2(aQFGR|aDf@_=!~V`s$ORm%b0&nF!4Yoy4g?q@!9JWr7u$E{MTOjMz$t;ytG?e-4&8`fXh8EmShc< zjdgmGtY`EhyDig_doM>C^eg6Ph5Q!3KaSY`@C7JEEWeOIAI;}PO3 zefBeQK0{eYuqQpmXl`!KKfAiW6Y^rSw9xjai>E{GnjT%pIJCVb2U>S3kF1`(_O~l- zIndw2$voHu5H5g?ng@z~1yU{_h?)2)c)I%~3JxJ`0uB|+P1xS8s$V27Ai~wS+-zvu zNC^=GD22#pyB4v z{$l!70kH$N?}wliXCU|E2sLJ?Z{wmF@o{a*%hKSbhw_zox>|3}?{JnCW549I+20=G z+TQ(i$$nFSsD7^Itzu|Rk)$3WZ3M7#JBOSmt{IL)pFQOEqH+P@#d4y*Q;TO8#Oczg0ROSWcHc*7G(pYB`W^8cKRfvS zu16%&vP_D=(7Q*5Mi>nUN%P8VQK$rA>(JaIc5? z6wGin;JTNr6lg9?)s}@4>XN>&UG($t7B8Osc>u*ojbZVbKXrZNmX|X1&zx_dsPo%L z8_m}euhcOMp&~c+Uw)MCzJgxj2m31?Q9r6X=T8li8}hu4nx0g3aK70^o};NWW+4#$ zhPwO#S(nt=MKLMMG|HfINi1K&v#5E;ZtysGK~guXgkmb0`p^ic_YMZ0=WQ9^Ruw(; zN`P3b`j_lcS7}7GsQF(Ig1FjueAF3z1C}!=v$9F)56PVJ7JZ?7Y;mkUTIMF)Ay6!? z)x_R#C_HG;dzhphi!FMG8(@(B8)bi%PGwQ6BIq`VzwQPeBEIXyn`Ci2=RkeKhRo1+ zj2r98h^!VD{vraG>M5QUSP+%q{TwJK)1Rv95sQC{J;r&QZke-JF_qz3d7QXM)JQf z!+Gvy0U^z52sLQ?&V$11)QmIP*Cv|ogR50wn}&SYg&yRnVK;2&e)NhES!<-KmRhpDvb&1i*Y8b=up-aAPEPmBQSDY0A>4*x{w$cwqez_mLJV!Q-Oc{oReo5w?q5avRcPPURRDrr=*sR8^Yh z%Nu}oJcNr$aibZHS|=}Tn@cZoo&yWqjExcFKvP`>on2l-{%q|Yy)v0~ysR`jJVuHe z5uObzt+9VUz4~H8cyV92;suIVtICnLyjoA!r3ep8BB!M^A0*N&Zy^3-CK|ru{nXqM!K! z!*zef>l&$^Gvd5a77Q$F&SsAcY)1_3&oEL-`s#{XuRXN7T8-R3e7qh5l3Ms4Peq&|ZhvvkX_rKQ|xP?xhb| z`55I1?z^aKzf!GOvzdCozgC*z2+kc*u}Car2TdB+w{s3?Dm=))xPCn19do4Nke`wo6inwcsT3+D)Yk3v zboeXn1JZ{iZf9N#IvjWnp7WT2R*TW4zmLw*ewHT*zySa7y8OL``%gcMQ(uL)YyLKh z0c~CTzuI1^cWHo@NAs_i@87Qd$IgzbjVR*|JKBbR!nAsIwMrblld{_Uwn2SK&4H|x z^;|?$e8xR>h96`sshmY6&nqNaed}@vYzRJV1|SSgf{y-{jD`mY_U97UL0W|aGEydr zWx^46*+aY?i~$g^-sm>*WeuEnq4%vY-`5Rp>pMisoKABhxd0OG*CB7)8A)a3A8Vas zV8`!Wt`~pA53n!{WKrEWOU&q-q(%llJdaz5_L1P%1k;$@PeC)bOjwcMTpmOmIiCLv zU7Qq;7)~5vwyvr5ZUBDKt$S~@331+JwY!gN6ujT@1d6*rw-gV)g_l2f zeW$Z=-T#pQKVG&C@FQin)hPU^>$8p;Y7&F?1*&v=Dk?goAPs}7U1ik(cTlLu1wG&z z0f4zPLf3o8G14mFqfRiflY>yv3MfMqKRa!g0MF?2pWxjXh$;04;-$*g9uFWC`XFKu z@Q7-7`1MrjC%}m61YTS+_`S zU8f~J9v;K=+|~GuQN8ht#ABWslfHG;gc=w;gIN#{j-}+!1;kub$7-gs0_LmGSt2f` zF4t*mR?>0K-baZVlkHzTN(^`beDp21y6e3?q23D_a|!S1{fI0&1|{}XVi9vSuUrd0 z(0fE)V8l#@@^lp6F2l;sb=f-&W>&J)j#A@41sav7UPQG-Uak+y&Zi0=+2{sey-@gQ zcQNYS9dcQxoGDRV%Ym6?lyRD20EQ3Eh`PZH2Q7Lj12ygou?+JbW5DiFe3ke%bR8GEI%{1lY{is z=GjsKHNj*q=UglBLryINRDJIJrjbFJzV3u-^5;3Lb7~p+S0tzuO(7eXK}{11ffTWs z>nOuq`g=E4obs8~7a*&=?{UXyiU?jS#c2n}fSz*_4q6=`typXy1)Gs6&B(dH1pr%-8(en4N30?g)Use4MGFx=i9fQNSd}epacSr7{!2k7Zl5 z!K=+-ODDg`4jq(TY5%s*D)$x|AfvS-y*ZfkFNAIy9CF?8T!d%d#?|-R4(0-qo-(g} zVu1BGY9xLqCrS`b*9C4ig@}?vNsq)QP@hL66sU*LIh}qyeF?-Yq+g{8WLFjcVn^WG zFA@vHg;96NE(5lD^O+mBXU-JqExBZi;Kv}@K&;*njw(L!e&CBN1=;K0xh$dC^0FOmT-2>maTD}T82_tcE$JP=L^0~kg~^Hxj{@GWWJLKn)wYwwjS=iEQJ|vZreSwRtsV`m?;}*D3-+U)qvC`J8lon+zCJBXB&#|3`!WD>z70`L&mTm!8? zq_ctB_;D{VzL83y)P%a1`awAc%dt+2lm*^Cbe*e2pSUQX?B9JYZpYc@5OCS6e34-9 z;W3LDSp?(G3s+gA?xNp|Rxi=u-aqHX#gvjRY3m`!{b*2I^pKjGlPo3$j6C=?0|Amf zSP$~jQf;W{+cpS6KfMIVm_b0`jCt{(QyIHd4I^h*HgStz5Z0$>l!?EOcKjymOIr*; zB1}VpP;`GhfpeWcE%bcztJdh&IyzbsFsb@iYL#;Frv`v|75l!jI?k^DTv^}|I$PREprO{onNM1>TlRn(Ng8w;x>$o$!BM5F zYc7<^DEGUkSpS%LVAN%DIC>aE8_!O0NpPPfat=@pw%Oq(f55H?MKRkxTIgujiw-)o!f5JmHZ4>}W@Ouk=tnrmHcpX_*HNe8shOnC8tI|x%iE!p&Cq8klBVe_%wL=iI6opq{ z7P6|?94~skPzgA2$u7Q><_O(CCW_#}!IYQXI(@l3Vy{AlTAU}2wn15q5zK)Zy{^2n z+>7V?KqeWi#Fww7lQf66-27!A1cePrh`yd%O#2uKRBL;tUK^W_R)F4`rDOyNT&9}d zzh(U{1zEp%Of_qo+#8B_Mqqz#sTIr$MW=P^uJ5&gPVzT*T>Lk`Vf|6{`^~ZPIU7ZF zXD*yO+*t{5X?YkW`hYd)kHayN8(+^3cAT5*^83uQ0Q!B8}RaeRp^SKYnSD zZZqXqz;E1)D!nG8KCHg_kV%J5PPKY}Zf}gZCnJ-N==*yh&Hwdh3c7{f;|uD)HJ>Rh zF6E#-J~L<50AQ1C@4r$f)w%-aE=R9H?K<6Qn$K-Cy^PnE z$^9SpE*fL#T$KlxhRb}VB|w-2EmjqO(JO$NQyzb}A6o23;UHLeAL;5cQz^wulpw`J zYI5N4g_6>D6K5%D9~7lWcAg`_=NWb+ek}mgU=`)jI+bBMB?e3iEMK0EUt4QBz7=IR zmHt|a#Ta`d=g02-4>|JgH#F$lc9xjOZ-E9XCz0=ne8n!sHlpg0sD)=xpugQnWZ&m^ z$yi#ey|7S~WQX~t+LW>2Z_$Q>L?8pDaT@k!Vr$8+oO_DI|s+}WJeC2Kx1q)z;jqJK82df z9vyfsV)HxJBE7P@qBOk2Rq9!*L}?^#fYs}J=~ceKe(8FeK^L}B2a^z+3!ecH`Sqx% zFS@De`tkJ<`>V{&LhAG?sZAqIe%UT}ia{m8e5nK97ecPy(v8-cF zR-#y2{&&#Nl5Dh0puMw9RaUb<^A110$1hoETV=i?OfvVv#*7hYBwL+oW6!PV6SOW6 zzrM$)5bTZTb6V=nvciVU)5`#Fh%4$O3VCdm(}6Z`;J?LW0}N4C6I!QxuzNquOTVa| zt=Z|I9P_6Af^kS7p&?SvGGUQ<2sYL04h;{utX|^}*b8?i!I(4oNMNwxRj)vv zd3Kt%^&O4R$(aRI_!^3`>F1P5S^+wfa# z(_EX>>`&OP5%_>^f#S!}bfE)M1c05*z1Xyv?v*)ZRA4pQ+2R%xfPcNd1+CSfx#(CK zM8MuNTPaJUh{UryA4$n&Qy;AYb6a1LnTTi*#&RuMbU>D1M}eyUo?_nt+Ny?as($R$ zzh&&1$y)`}GupgqIeunRqa+Eu|I^)R$!^=v^L|8b%TWOj{{{=&v1UWA9nOf<$=Bbe zDLa9)75a$X<<@?%lAp89303H^Y43u1IM@3<%w$5FZ8^{_q>&l*`8lGEpKW;^j3*I& zl*s^YGV(hp^HxEmg+HCVS5_Q)y>)o_;F-TgX)Fl42u15muK^!1{$7ED_VCpa;QQm+ zY5SzO5Mb6mP{Py?3Ox`u2#o(zdL**JIp$MSofsD)F z^t{_T0g%<@ox>m~U4^vrqaZ*bv;u z-;1JkT5em0x4c-l)6lR`F{6l;m}EoNz1dfPY29psSt@clmVc~q|EeNmR3|d3TYcWt z*A$Ind9vrmt*&L+P?hpR6IvYv?&)1t-V(0b)Yg!Ny#L`F>ALVDbSo5kXy@_Lfw{%oo(J9usukB-gM<$W zr${PVo%j>#O43dcw=ZLKelYwbF_Wf6#VP*c)=~a!L_JgKTP_-t*{2lug~r|zj3^EY6}7P21?p99(*gti z>I!j*x}f%exYh|Q2ho^eIh1rgr3dGX8)>O{Q@}#f%QYxEY6J9xBZ-0Q8XZN$0X+$+ zFcg%GR|6Zhu>FKarpomuY`)?yh(L0&kv(T4<~Z1~a0%S%DURRl-#$oX9a1CSKy~*nbd)WM$G<8%9};1 zP$@kpc}bT3%%(9hKfMIt?BcxDEOWldn4ypj$UX$r^FF+kHfU&9;r_->8*ZW8CfmF| z)gUMvHE8Az$heaYbzxLM1MA)f<+9$-x62EbN>MZ2Q6R_Uj+)nF+MdjQnW0P1CKkuIVFCopvVzA&P38WwT< zq%&lA%9hR7H6X+Q5DqiH_}M_L(FguMkaA{{06dRFGtg0e`2T(;RkuYNPzIO$^YGCeQeeSU{(_{k|U0SA9)P#$#m>d6VBCVRHbk`SXIXE zJPzMJAQMJ!?MwGGm$bX=iF?Q_E%lMRV|bgm!6%~gE71(bQbi1tv))|bN1V%J8Qz&n z84RA!^Q4s##awXB*2b9ua22`gRRS<`ga698r()%)isHA88T8F+}0xzguSYx zScEm!)^F_UpwAx1uRxMEvxsajS3!LNaVmG!Ds1vgCZuH1z3S!GA+kljZMQD0b}C{h zkD?aKYb#99KtzL|Tph2wxb8XNsk{=fBjs~Nf+(In=EbpLFTIt2<`;?c=`vg(rbgX- zo*=5;5IQ9lL^M?12hKPnRKA9ExQKihqF|I`e-==*NZz^}ADnA8*JO7>jYf7NzieXl z|VVJ z=tKvtnJt5Gbbk3}iheJu_GFl++LHa#y#P45tpd7LwjV*_gk|p9CW`lSw|6F0PKV@Z zRRT`W5=0`A%8-z;!2RuW@A!PY8Qu*+>@ic(R&`kfNN>7(fEeSCcw<>lZ-*CAN8;Rk-XhfRI^c(oUa5L^BCNN8kUmFDJ@ZU_Vr|&@qF0^ z(gN^d*L##rvLX@M8wnlZyw)%XmIU%}o>Y)bs(MPwM*&y>mQJ)fV3NtWhyB z|JdC+WgTZi%omL{x8-g++8e#?uP%!nb;$B#A7Z>T)=&CM zBbgqB>I!2;f>gb=n1-t;!f#2v3=g~ML+Ey(ryPj$uRL-tFh zHNlo|WZx-(R$)FU*mW;Er^|M&XAHJ2x@6gj_YPzhf%qpN28Cuuv4TfZrkUN*-I>M- z<>ie>kt7(luOP$i(qANRac?`}Q0UompKo>+FYqDz2(^LIB<|}S4qVUm)0v!yqjIHt zOmeHxWA%3t;=-~nh&rG;~n-;vwLO_CRc5?JO`%XHXLoYnkhk7Q1V0_<{g1Xe{dFkOG5X_)4vd zrFN=mxf$0A9v-*vJ^2aXVwMO$1ReG)MGwN5W`dl8c*2I$E7NtE8ju8Pg3^oA>T2qa zzOi7>d?Vsuny*c!uxX{2(~;T(<0Ow)PxEY^eGi#80&i`L1Ecoac4_%)*n$i(2#v$u z|B_|0Il7}-)a8`u$-3tg;~T3(Kb51EVvy%HJV~FM>lLLPqvy@znB_3gbqAOL>~@5l zs3z7`SZ}Mj&M1I93H=iYTbz6O7yH}gY8lwi81oG^Be;#!2Z8N(b5<2+ErX~^8*;Ga6z<&~q1H}0^H5FddDD5#-j54Uj9em_CArPkfLgD-*8tqT z6iHs2M1>1~q)y9K6`lbi%1r)@C|hF|KlN@vahNio?C(H&x1mc`KtT1k-!ZSdr!lX3 zL^?2R&0SkVUZeBX3^g#iU$!RJ0E$3Cy-Y7xg3d0%J?s~W@;pKq<%#zKRwtaUvXxD& z<7|R$AfTHCPyi;g0CGc}_=$|bcq)>U9y)~n-I4#Ja{lLa27mn>YAWpReRu!6QiL%k zqzGu}W-_+V&$Lf~Z$3<0l6b}byZr`sv z4q!H00lqGcZN{1FX!*8xysR-|@izBKRB7z3na)c`vF#TYZY~7p8@-?Fm%FudMvqYz z^WzpVZe>WbXmvrL_Ws@MvV2OUuH9z9-Jx1pu^60vI-&jJi)(A(+?C>-^q}$-G0o7o zbTJokjE#r+*7FWLbo4F7{J8HO1Z6}jWDQ33lgCduONGkQunkt&4;%RumAqg@h!6%G z32E8#wA!$n!2j>xvU$CGTk>z?JYWG7{GENVKxQfMr2{EHYQ8sGPGZeblh5k)nP>(xNqi{{@q2;RKTRb#cxt^>uVdbmos!}4G|Ikk+ zfJ24eUpTiW&Xl1!i%{A3z89m%%TiLb({?{ek)N(IF`r0#6*G#D+*4;9>@F7ChR^OCqF~Ue0#Wb@Z!j&E=*pX2E-%9!E$bu52WDUp1-DCDIc$aJsgvG0Gj% zJ@;s%1mJdYCL78XD?7m3JoiGEo42sQViqFVJbjo-J>({A8hSB&nWE>0mHQ#HsC%Q? zBv6;KqF+H-h{ENm?EN#+t-DSoEEWNAE2UaB(uoX2ftY0n)luTvDEZhH+#~;Si&(-~ zFQ!Ecddnc_q(*s?ut0$wy)1vj9Cl^VvMd1@0VQFYev~z8X3E3v@_`x5K9dn`V0TXt z;gTL)FTszr;tHNG^dX;hO`_axyBQ(AP9b_}fuD|_j>+(!^^kOx8NkH;^>K#(%j0|i z0-nG21~9<~(50<;3a^gL?g`qNVFrFD1bdz)1OwCf#nXh~JfPcI7K2hi+agPVF>@Pv zz>q)SCr&IpBGxDZ+b~h1NnWBvDR&rd7eL&;_L#=b&tg20mucaW*0>dI(gV;B#PL;L z=oTPh!0~V#;P$BlA440j`A9|pMzaHB_jOFtRKGp&W!_13MMpKa$)j=x;Y*zEx!0Iw zmtTVXh~kvkL^PCQ9R?Y?JQemCe$22#K=L5tOtBe-Nnj{km_(|~ z^c9?gWi(u%cM(ONw84lK^M(z~<%)0h!}Wyf=^^{;L@0|&C}%ke6m-Mn)5eVrXvu;- zhuePA;F=`Sw9I;9p-2cdlwuh5*mXkm9meGUwfF4dP;YCKb}DLWXO4225w#Pciz&Ix zR5nsuQ^-^=EBU+w?^8f zbIy0pdCvDe&-Xmv{_FSro_S~e)_T|bu6Mn6|6dLq+VsG{-M-swB2E;6`Q+ZV;ON54 z^nTsiPe#XIfWn}R5oF(zGGx(O`K2kR)k>3erBE+y`aJ_ZwJ&eLIHm_=3{QgX>~a>6 zSSb#eqQRg;F7&>rOdoFkj@$Uy)veFZG1ZO;mx@XGNmuUs*9=Ft?gyb96Fp@f#NC8D zHJKv0*CQ3HWW+%Jgb*@Gc%YtfjQI7oTbrJW(6D7jNrKsp}b|s^4GW;koLfU&~hKqghwi+r~5z z@Pbfx)}j;2RSq9_Mx4A>?)?n07mtSv6h8F#==bd}#cW;OOzoOzMMbI%1U zWY@)p+=owVXZc&8aT&~h?o6{AdEP8`GdALbzVNvc@p+yWitDUA2sCTZ=SaS(52ZSp(DpyV zY@vZ?fALG+6W3ggj>{J?;u%?izGS8Q(R%#ESm-Bor<27tl#r`B$_lbH(eoC9b1KX~ z&kq>cExl7odwT|Jmj$0FlU$(>Kkf#yRU7Bj7*1x1P4|Iw$UOhNdBC+4P>g$FU6yR8 zsxVt{-g~*h7H^ArkZRAEspTRH){VzW8;BpS+U*q=5chUlSI-D_U)HjhOS~F;?#5_b zK}X`m&W^2~UIFQ!#5yI?}<F@09@V_qpXn0~u3gjhf;p4tg684~AAnlWV;P&F|$fC4W zQEL}BToi8GioJW5x`w((AY7l&5&cFc4*6I!sKl|Yxu_y^*G*UJkAplrr^|z|lIWKb z?&74XHw;6wGMUq)``i19O_b3gDyZ@x=R{JAYoz|IJd>X|x*o?>Hr}`8+o^5`C0CXK zE6YMZx;@wBA+Hw2u6&L;O(S^F z6fPSREk>l08os&)e>+r?c|5Uii{brb!!q}iVO`#Ry(X5uvS-|VtgI`|8d4iE+G!k* zm5%gv5mHbjPvwr#qJ#WOj;h*^K9<|&mB=hPa*6vcUo-|m+nEE~RC=O|4*GWD6!6&h1UBEV=R{mtr#Oz@ zfZ?f}S@q;`Y+;e7jP}|pwJ|lu3m*<`K2|R)>YBj2JTCSTIsV=7+dwi;Sxg2Ata~n? zch>KW$yP61f9%LjkizO8b!fWI{3umP;?DXyEHj#gRZYZwxI=Qq0>56!Z30v6#(LSkxaZRYZR=Qi%!Atv4);OH z1%1e9FgD@q(LOVyryL8IM)24i2Msr>CQIP;o7GWr(|2tUxQc9hs}%Z zibp$dD2p_l4OA)vGXx3{7ukMRnoX4Ik%O}AdlI4)D<>aDz_m^+qOoZ4vynir(+iC8 z$J&ET*TUNvbxn8k^M$SxQ94(??KR{3+@53-fqBo%s9!oK#Np8+9<8orLvT0 z<_FnYx$elNna_Q_{F8~wsj|`9zyZgE3q^&mb1u{7!X%mi8V z(l!OrL6%zV!4p;{Nn9P>(RGLYzI(e1P~wZJTsY{|UZ$=OY*-kPOX z4jd+;O%Hbr_g>MZ`quACk5LQy5RPx(I*uIaR*-%tpjG_I3|=iD zyn6DWVcejz(DP}+Dho~QEnEOR$10Er%3X{1)t+9I>tfj*vkG0#2L9?2boOvWWNz;z zJExUR9v!M0Q6px=DwX{@76%%~BkdgV`<@ra`q@3Zm!i>o;EvQp+^a1-|M2HNt8ac( z)Qsn)apXfvpALjx+}_?ENRw!s>N2`7HI)F2?0S!&5%?@93MgiRS!w}KF5_gnQ}8= zGcgG+0Y~H50urOhgzq)OY=1PIumUpjsd0PKKa7z0dMwVs$b<`?pYX)0ekxe8-co@g z5D-B(Cl6{yk-LkR2>F;95>K*RVUeNv5w};nTS7$vfl#_UMsFa zNchbit6MjIgP21!&!z~SH@xp;%2HW(gz&SVfLHsN+V<{)sNiVLZkxXT6NfD5t}BA& zZZgt@=mcT{v8-nD$0)%rX1P*ReDLdxHfC3skf3`Po_Ei;!{m&3p%ck4x)haxX(+(m zPRFjKIQc#5@CplDEho;mjv+lT$jwu?v>a1AMdPY#cY{Cz^b#LE^oarQv&L66H|k^} zv!8@E#?VcgK$LLF-HILqjwsAfJ zzA#?w0V2$?4}tmuRMYwmjg_20n$2(d+;kDhF-`~ffEb$^7ztI;G9gA24Gz)q=SP%q z_~LVbzJWDkr2qujsKdZ4LbL-)#@xJtPpHZKnOm2naZRG6aZM@^0rn`re`hVPoew7Y z-97HOE0#^_WLCRomlWh(JGyg~8?*nBtdQ_NZ)8fUJQFu*)G;q}xx=dLNJg8VJY?-A zbAw7183kkTi`)|?^H*@3W66_d=8%J=!z=YA$ASYQAv})iJY#oXpU3MtC0=e@m3EJF zo?cOHdb%BLfDrJW$Lt7_mZwavrf0%1vf$JxF67mL1Ph zkMecRR2fxWJ~9d~{A3puK6#(cy{>vtKWb6?oTfz3l)95CMF{Q zYW+Vw1(Jed4KN=o>Cqy?vJhP<{JYz`L6V)szX7hLGKY2 zeF{?%8Wls}E;9=rTi`IRPwzX2qC5BSl-tDKXTr7`IVK1~JQ;55m%nF-M7or{drQ>84A0rPa__6_>Ch6rlh!`egrs>O5?7Fh83XFMJ%Fl1YqO^KyA4VuTGKY zqLJTm{s-g$h};u=3yJs^avvv2k1e6F5hZN~jWwT36$#p)_QO+B9cyvZuR`MIS4{~U zOhamEGoaa!gqJAfnt5*kpUD6gTq+?97Y0C|sab%QK(_QMt`l(S%#XW)>J7XFl+ivw z4lWV!JOr#hO~!z|ja{O6USMGg zVB5f$)BA=7(_ahfeSp{s!E&4+O2Xlr0f!IY(f&YV5d}7I5TLgijL|^2;{*{Dbe1gk zkJU*)@fVCGqxjB@5?Lh2I{tMZP%SIPzeZ6ta)Hnf4d6{wSks2`!}F1DVNelyTNHYgV=4* zhg&gikzERe-=R{uSsM@10rbM4o^Lko0_1YkNUvykLi;_A^~1Lx1p_O7H!v<|gKEMj zKQWSx=3bmdU$Z~Md4L8}080yw;vodv181#l)<<}C2zHIdalQnvU_aG9%|`4u)E?j_ z``=Kv1Mnr@H`QplylD0t1adZ*Hox!h!^`rZr~Jwzi!no##QboPa4H<<zq#(>yY3C~eYm>5v<%etv82bH z*n=?^QD)b-90Q?HHWv|3GWT`RmPm(W5-%7nV2a$5?!?(|JU+j=gMbk1HZ}zwpyvR4 z^Sy?X;UDQsz%9yC!g_O*0c1uC{u#D{GD0oDvDOWPpfVuvxGQND`5KCZ`-XrVM1@3lKD?q?z1;F9=YA-juX||I_U0L}~Kk z22uYP=Q&nH2l5o~oj@6!BSq diff --git a/examples/seneca/shape/shape.html b/examples/seneca/shape/shape.html deleted file mode 100644 index 4544cea3c..000000000 --- a/examples/seneca/shape/shape.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - Processing.js SVG shape() - - - - - - - -
    The actual shape:
    - - - - diff --git a/examples/seneca/shape/shape2.html b/examples/seneca/shape/shape2.html deleted file mode 100644 index 57701605f..000000000 --- a/examples/seneca/shape/shape2.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - Processing.js SVG shape() - - - - - - - -
    The actual shape:
    - - - - diff --git a/examples/seneca/shapeMode/bot.jpg b/examples/seneca/shapeMode/bot.jpg deleted file mode 100644 index a720af1371641a0b1cf9356a1d3f10a3717b5b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6165 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 diff --git a/examples/seneca/shapeMode/bot.svg b/examples/seneca/shapeMode/bot.svg deleted file mode 100644 index 91b130b38..000000000 --- a/examples/seneca/shapeMode/bot.svg +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/seneca/shapeMode/bot4.jpg b/examples/seneca/shapeMode/bot4.jpg deleted file mode 100644 index 81c03d8699b44338a0a8cb31e1271da175ba9bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76120 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

    Uw) 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 - - - Processing.js shapeMode() - - - - - - - -

    The actual shape:
    - - - - diff --git a/examples/seneca/shapeMode/shapeMode2.html b/examples/seneca/shapeMode/shapeMode2.html deleted file mode 100644 index ef976e242..000000000 --- a/examples/seneca/shapeMode/shapeMode2.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - Processing.js shapeMode() CORNER - - - - - - - -
    The actual shape:
    - - - - diff --git a/examples/seneca/size/size.html b/examples/seneca/size/size.html deleted file mode 100644 index 03dafbcd5..000000000 --- a/examples/seneca/size/size.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -

    size() no parameter test

    - - -

    -
    - -
    void setup() {
    -  size();
    -  background(153);
    -}
    -
    -void draw() {
    -  line(0, 0, width, height);
    -}
    -
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/size/size2.html b/examples/seneca/size/size2.html deleted file mode 100644 index 9f8612d0b..000000000 --- a/examples/seneca/size/size2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - -

    size() with Canvas Style

    - - -

    -
    - -
    void setup() {
    -  size(20,20);
    -  background(153);
    -}
    -
    -void draw() {
    -  line(0, 0, width, height);
    -}
    -
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/sphere/sphere.html b/examples/seneca/sphere/sphere.html deleted file mode 100644 index f251f53e1..000000000 --- a/examples/seneca/sphere/sphere.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - -
    -

    A Processing.js 3D rotateZ() Example

    - - - -
    -
    - -
    -

    A Processing.js 3D sphere() Example

    -

    sphereDetail(25,25);

    -

    sphere(140)

    -

    sphereDetail(15,15);

    -

    sphere(80)

    -

    - - -

    - - - - \ No newline at end of file diff --git a/examples/seneca/sphere/sphere2.html b/examples/seneca/sphere/sphere2.html deleted file mode 100644 index 20c5ce23d..000000000 --- a/examples/seneca/sphere/sphere2.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - -
    -

    A Processing.js 3D sphere() Example

    -

    This example moves the sphereDetail calls out of the main draw loop and does one call in the setup to show how much faster - it is (100 fps vs 15fps)

    -

    - -

    - - diff --git a/examples/seneca/sphere/sphere2.pjs b/examples/seneca/sphere/sphere2.pjs deleted file mode 100644 index 0cdfda1c3..000000000 --- a/examples/seneca/sphere/sphere2.pjs +++ /dev/null @@ -1,38 +0,0 @@ -void setup() -{ - size(500,500,OPENGL); - setInterval(function() { println(frameRate.toFixed(2) + " fps"); }, 2000); - sphereDetail(25,25); - noStroke(); -} - -void draw() { - background(100, 0, 100); - - fill(0, 255, 200); - stroke(0, 200, 255); - - pushMatrix(); - translate(400,400,0); - rotateX(-frameCount/20.0); - sphere(80); - popMatrix(); - - fill(255, 0, 200); - stroke(255, 200, 0); - - pushMatrix(); - translate(width/2,height/2,1); - rotateX(frameCount/20.0); - sphere(140); - popMatrix(); - - fill(255, 200, 0); - stroke(255, 0, 200); - - pushMatrix(); - translate(100,100,1); - rotateX(-frameCount/20.0); - sphere(80); - popMatrix(); -} diff --git a/examples/seneca/sphere/spheretest.js b/examples/seneca/sphere/spheretest.js deleted file mode 100644 index e896df551..000000000 --- a/examples/seneca/sphere/spheretest.js +++ /dev/null @@ -1,29 +0,0 @@ -void setup() -{ - size(500,500,OPENGL); - setInterval(function() { println(FRAME_RATE.toFixed(2) + " fps"); }, 2000); -} - -void draw() { - background(200); - - fill(255, 0, 200); - stroke(255, 200, 0); - - pushMatrix(); - translate(width/2,height/2,1); - rotateX(frameCount/20.0); - sphereDetail(25,25); - sphere(140); - popMatrix(); - - fill(255, 200, 0); - stroke(255, 0, 200); - - pushMatrix(); - translate(100,100,1); - rotateX(-frameCount/20.0); - sphereDetail(15,15); - sphere(80); - popMatrix(); -} diff --git a/examples/seneca/status/status.html b/examples/seneca/status/status.html deleted file mode 100644 index 547826e09..000000000 --- a/examples/seneca/status/status.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - -

    Processing-js

    -

    status ()

    -
    - -

    - - - diff --git a/examples/seneca/stringEquals/stringEqualsTest.html b/examples/seneca/stringEquals/stringEqualsTest.html deleted file mode 100644 index 2ed73e85f..000000000 --- a/examples/seneca/stringEquals/stringEqualsTest.html +++ /dev/null @@ -1,168 +0,0 @@ - - - - Processing.js test of String::equals() (0) - - - - -

    - - String::equals() test (0)

    -

    - This is a friendlier version of the example on the Processing web site.

    -
    -

    - - - -
    - Test written by Matthew Lam -

     
    -boolean errors=false;
    - 
    -int xcoord=5;
    -int xoff=10;
    -int ycoord=35;
    -int yinc=15;
    - 
    -void setup() {
    -	size(200,250);
    -	background(50);
    -	noLoop();
    -} 
    - 
    -void draw() {
    -	output("\"CCCP\".equals(\"CCCP\")","CCCP".equals("CCCP"),true);
    -	output("\"CCCP\".equals(\"PCCC\")","CCCP".equals("PCCC"),false);
    -	output("\"CCCP\".equals(\" CCCP\")","CCCP".equals(" CCCP"),false);
    - 
    -	String errMsg="";
    -	if (errors) {
    -		fill(255,0,0);
    -		errMsg="RED tests FAILED.";
    -	} else {
    -		fill(0,255,0);
    -		errMsg="All tests passed.";
    -	}
    -	text(errMsg,5,20);
    -}
    - 
    -void output(String txt,boolean results,boolean expected) {
    -	fill(255,255,255);
    -	text(txt,xcoord,ycoord+=yinc);
    -	if (results==expected) {
    -		fill(0,255,0);
    -	} else {
    -		fill(255,0,0);
    -		errors=true;
    -	}
    -	text(""+results,xcoord+xoff,ycoord+=yinc);
    -	ycoord+=yinc;
    -}
    -	
    -
    - - - \ No newline at end of file diff --git a/examples/seneca/strokeWeight/strokeWeight.html b/examples/seneca/strokeWeight/strokeWeight.html deleted file mode 100644 index b23664a1a..000000000 --- a/examples/seneca/strokeWeight/strokeWeight.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/strokeWeight/strokeWeight.pjs b/examples/seneca/strokeWeight/strokeWeight.pjs deleted file mode 100644 index 98d888d63..000000000 --- a/examples/seneca/strokeWeight/strokeWeight.pjs +++ /dev/null @@ -1,14 +0,0 @@ -size(400, 400); - -strokeWeight(1); -point(200,10); -ellipseMode(RADIUS); -ellipse(300,300,25,25); -strokeWeight(5); -point(200,50); -strokeWeight(10); -point(200,125); -strokeWeight(25); -point(200,200); -strokeWeight(50); -point(200,300); diff --git a/examples/seneca/text$6/textTest1.html b/examples/seneca/text$6/textTest1.html deleted file mode 100755 index 4f3f64909..000000000 --- a/examples/seneca/text$6/textTest1.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - Processing.js test of text() with variable width textbox - - - - -

    text() test with variable width textbox

    -

    Tries to put the string "Hello there 1 2 3 4 5 6 7 8 9 10" in a textbox that varies in size from 0px width to slightly wider than the full text string.

    -

    Should show "Hello" being placed letter by letter, then nothing while the textbox is less wide than "Hello there", then placing 1, 2, ..., 10 as they are fittable.

    - - - -
    -
    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest1.html b/examples/seneca/text/textTest1.html deleted file mode 100644 index f98df062c..000000000 --- a/examples/seneca/text/textTest1.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - Processing.js test of text() - - - - -

    text() tests

    -

    First group prints: int, float, char, and string.

    -

    Second group (in boxes) prints text in-the-box: multi-line, wrapping, overflow. -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest2.html b/examples/seneca/text/textTest2.html deleted file mode 100644 index 4a977c55e..000000000 --- a/examples/seneca/text/textTest2.html +++ /dev/null @@ -1,121 +0,0 @@ - - - - Processing.js test of textAlign() - - - - -

    textAlign() align tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest3.html b/examples/seneca/text/textTest3.html deleted file mode 100644 index cfb534bdc..000000000 --- a/examples/seneca/text/textTest3.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - Processing.js test of text() - - - - -

    text() tests

    -

    First group prints: int, float, char, and string.

    -

    Second group (in boxes) prints text in-the-box: multi-line, wrapping, overflow. -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest4.html b/examples/seneca/text/textTest4.html deleted file mode 100644 index 13c4788aa..000000000 --- a/examples/seneca/text/textTest4.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - Processing.js test of text() - - - - -

    text() tests

    -

    First group prints: int, float, char, and string.

    -

    Second group (in boxes) prints text in-the-box: multi-line, wrapping, overflow. -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest5.html b/examples/seneca/text/textTest5.html deleted file mode 100644 index dbe2009ba..000000000 --- a/examples/seneca/text/textTest5.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - Processing.js test of textAlign() - - - - -

    textAlign() align tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text/textTest6.html b/examples/seneca/text/textTest6.html deleted file mode 100644 index 19f0479fe..000000000 --- a/examples/seneca/text/textTest6.html +++ /dev/null @@ -1,90 +0,0 @@ - - - - Processing.js test of textAlign() - - - - -

    textAlign() align tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/text3D/text-3d.html b/examples/seneca/text3D/text-3d.html deleted file mode 100644 index 9b1ce09f1..000000000 --- a/examples/seneca/text3D/text-3d.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/examples/seneca/text3D/text-3d.pjs b/examples/seneca/text3D/text-3d.pjs deleted file mode 100644 index 54b1c4709..000000000 --- a/examples/seneca/text3D/text-3d.pjs +++ /dev/null @@ -1,39 +0,0 @@ -float a=0.0; -void setup() -{ -size(500, 500, P3D); -background(0); -PFont font = loadFont("Arial"); -textFont(font,30); -} - -void draw(){ - - background(0); - a += 0.015; - if(a > TWO_PI) { - a = 0.0; - } - - translate(width/3, height/3,0); - rotateY(a); - //rotateY(a * 2.0); - -//rect(5, 5, 20, 5); -fill(0, 102, 153); -text("wo\nrdsecond", 10, -20, 0); -//text("second"); -fill(255); -text("wo\nrd", 10, -20, -10); - -fill(255); -text("word", 20, 40, -10); -fill(0, 102, 153); -text("word", 20, 40, 0); - -fill(255); -text("word", 30, 70, -10); -fill(0, 102, 153); -text("word", 30, 70, 0); -} - diff --git a/examples/seneca/textAscent/textAscent.html b/examples/seneca/textAscent/textAscent.html deleted file mode 100644 index 04e8abc95..000000000 --- a/examples/seneca/textAscent/textAscent.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - Processing.js test of textAscent() - - - - -

    textAscent() example

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/textDescent/textDescent.html b/examples/seneca/textDescent/textDescent.html deleted file mode 100644 index 670215e7b..000000000 --- a/examples/seneca/textDescent/textDescent.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - Processing.js test of textDescent() - - - - -

    textDescent() example

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/textMode/textMode2D.html b/examples/seneca/textMode/textMode2D.html deleted file mode 100644 index 5e6355fa8..000000000 --- a/examples/seneca/textMode/textMode2D.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - -

    textMode() test - 2D

    - -

    - -

    - -
    -    
    -size(100, 100, P2D);
    -PFont metaBold;
    -metaBold = loadFont("Arial");
    -textFont(metaBold);
    -String lines = "screen";
    -
    -fill(0);
    -text("1", 1, 10);
    -text("2", 1, 20);
    -text("3", 1, 30);
    -text("4", 1, 40);
    -text("5", 1, 50);
    -text("6", 1, 60);
    -text("7", 1, 70);
    -text("8", 1, 80);
    -text("9", 1, 90);
    -text("10", 1, 100);
    -
    -fill(255);
    -//rotateZ(0.1);
    -translate(20,0);
    -text(lines, 10, 20);
    -textMode(SCREEN);
    -text(lines, 10, 45);
    -textMode(MODEL);
    -translate(-10,0);
    -text(lines, 10, 70);
    -    
    - - diff --git a/examples/seneca/textMode/textMode2D.pjs b/examples/seneca/textMode/textMode2D.pjs deleted file mode 100644 index 7bcf5cb39..000000000 --- a/examples/seneca/textMode/textMode2D.pjs +++ /dev/null @@ -1,27 +0,0 @@ -size(100, 100, P2D); -PFont metaBold; -metaBold = loadFont("Arial"); -textFont(metaBold); -String lines = "screen"; - -fill(0); -text("1", 1, 10); -text("2", 1, 20); -text("3", 1, 30); -text("4", 1, 40); -text("5", 1, 50); -text("6", 1, 60); -text("7", 1, 70); -text("8", 1, 80); -text("9", 1, 90); -text("10", 1, 100); - -fill(255); -//rotateZ(0.1); -translate(20,0); -text(lines, 10, 20); -textMode(SCREEN); -text(lines, 10, 45); -textMode(MODEL); -translate(-10,0); -text(lines, 10, 70); diff --git a/examples/seneca/textMode/textMode3D.html b/examples/seneca/textMode/textMode3D.html deleted file mode 100644 index 960bc4b43..000000000 --- a/examples/seneca/textMode/textMode3D.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - -

    textMode() test - 2D

    - -

    - -

    - -
    -    
    -size(100, 100, P2D);
    -PFont metaBold;
    -metaBold = loadFont("Serif.plain-12.vlw");
    -textFont(metaBold);
    -String lines = "screen";
    -
    -//rotateZ(0.1);
    -translate(20,0);
    -text(lines, 3, 20);
    -textMode(SCREEN);
    -text(lines, 3, 45);
    -textMode(MODEL);
    -translate(-10,0);
    -text(lines, 3, 70);
    -    
    - - diff --git a/examples/seneca/textWidth/2d/demos/index.html b/examples/seneca/textWidth/2d/demos/index.html deleted file mode 100644 index 6e28704e5..000000000 --- a/examples/seneca/textWidth/2d/demos/index.html +++ /dev/null @@ -1,291 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Demo for textWidth()

    - -

    This page demonstrates that the textWidth() function being added to Processing.js works correctly.
    -

    - -

    - -

    - -
    -// Test by Andor Salga
    -//
    -// Poetry by Andor Salga
    -//
    -
    -int isHoldingMagnet = -1;
    -
    -// using arraylist because i think classes are buggy
    -ArrayList strings = new ArrayList();
    -ArrayList coordsX = new ArrayList();
    -ArrayList coordsY = new ArrayList();
    -ArrayList widths = new ArrayList();
    -ArrayList fonts = new ArrayList();
    -
    -int MAGNET_HEIGHT = 20;
    -int numMagnets = 0;
    -
    -// user will click somewhere on the magnet, need to save 
    -// this value so the magnet is drawn in same cursor spot
    -int clickedOffsetX = 0;
    -int clickedOffsetY = 0;
    -
    -PFont courier;
    -PFont arial;
    -PFont verdana;
    -PFont helvetica;
    -PFont comic;
    -
    -//
    -//
    -//
    -void setup()
    -{
    -  size(500, 500);
    -  fill(0);
    -  
    -  courier = loadFont("courier");
    -  arial = loadFont("arial");
    -  helvetica = loadFont("helvetica");
    -  verdana = loadFont("Verdana");
    -  comic = loadFont("Comic Sans MS");
    -  
    -  // add magnets in specific locations
    -  int xStart = 350;
    -  addMagnet("By", xStart, height - 30);
    -  addMagnet("Andor", xStart + textWidth("By") + 5, 
    -                              height - 30);
    -  addMagnet("Salga", xStart + textWidth("By") + 5 + textWidth("Andor") + 5, height - 30);
    -
    -  // hascanvas was being a pain with arrays
    -  addMagnetRandom("a");
    -  addMagnetRandom("a");
    -  addMagnetRandom("a");
    -  addMagnetRandom("a");
    -  addMagnetRandom("s");
    -  addMagnetRandom("s");
    -  addMagnetRandom("the");
    -  addMagnetRandom("the");
    -  addMagnetRandom("ed");
    -
    -  addMagnetRandom("Seneca");
    -  addMagnetRandom("Firefox");
    -  addMagnetRandom("DPS911");
    -  addMagnetRandom("Processing");
    -
    -  addMagnetRandom("Miri");
    -  addMagnetRandom("robot");
    -  addMagnetRandom("jolty");
    -  addMagnetRandom("cookie");
    -  addMagnetRandom("magic");
    -  addMagnetRandom("cow");
    -
    -  addMagnetRandom("free");
    -  addMagnetRandom("love");
    -  addMagnetRandom("cried");
    -  addMagnetRandom("rain");
    -  addMagnetRandom("forest");
    -  addMagnetRandom("dream");
    -  addMagnetRandom("gloom");
    -  addMagnetRandom("dark");
    -  addMagnetRandom("leap");
    -
    -  addMagnetRandom("who");
    -  addMagnetRandom("what");
    -  addMagnetRandom("where");
    -  addMagnetRandom("when");
    -  addMagnetRandom("how");
    -
    -  addMagnetRandom("I");
    -  addMagnetRandom("know");
    -  addMagnetRandom("my");
    -  addMagnetRandom("will");
    -  addMagnetRandom("you");
    -  addMagnetRandom("how");
    -
    -  addMagnetRandom("see");
    -  addMagnetRandom("smell");
    -  addMagnetRandom("taste");
    -  addMagnetRandom("hear");
    -  addMagnetRandom("touch");
    -}
    -
    -
    -// Add a magnet to a random place
    -void addMagnetRandom(String str)
    -{
    -  strings.add(str);
    -  
    -  int r = (int)random(0,5);
    -  fonts.add(r);
    -  
    -  coordsX.add((int)random(20,width-textWidth(str)));
    -
    -  // don't let the random words go over my name
    -  coordsY.add((int)random(20,height-60));
    -  widths.add((int)textWidth(str));
    -  numMagnets++;
    -}
    -
    -void addMagnet(String str, int x, int y)
    -{
    -  strings.add(str);
    -  coordsX.add(x);
    -  coordsY.add(y);
    -  widths.add((int)textWidth(str));
    -  fonts.add(1);
    -  numMagnets++;
    -}
    -
    -//
    -//
    -//
    -void drawMagnets()
    -{
    -  stroke(0);
    -
    -    for(int i=0; i < strings.size(); i++)
    -    {
    -      if( i != isHoldingMagnet)
    -      {
    -        strokeWeight(2);
    -        fill(250 - fonts.get(i)*30,20 + fonts.get(i)*40, 255);
    -        
    -        switch(fonts.get(i)){
    -         case 0: textFont(arial,16);break;
    -         case 1: textFont(verdana,10);break;
    -         case 2: textFont(helvetica,18);break;
    -         case 3: textFont(courier, 25);break;
    -         case 4: textFont(comic, 20);break;
    -        }
    -        rect((int)coordsX.get(i), (int)coordsY.get(i),
    -           textWidth((String)strings.get(i)),
    -           MAGNET_HEIGHT);
    -        fill(0);
    -        
    -        text((String)strings.get(i), (int)coordsX.get(i),
    -                                  (int)coordsY.get(i)+15);
    -      }
    -    }
    -    
    -    //
    -    if( isHoldingMagnet != -1)
    -    {
    -      int i = isHoldingMagnet;
    -
    -       switch(fonts.get(i)){
    -         case 0: textFont(arial,16);break;
    -         case 1: textFont(verdana,10);break;
    -         case 2: textFont(helvetica,18);break;
    -         case 3: textFont(courier, 25);break;
    -         case 4: textFont(comic, 20);break;
    -        }
    -        
    -      // shadow
    -      noStroke();
    -      fill(0,0,0,150);      
    -      rect(mouseX-clickedOffsetX, mouseY-clickedOffsetY,
    -          textWidth((String)strings.get(i)),MAGNET_HEIGHT);
    -      
    -      strokeWeight(2);
    -      stroke(0);
    -      fill(255,255,255);
    -      
    -      rect(mouseX-clickedOffsetX-5,mouseY-clickedOffsetY-5, 
    -          textWidth((String)strings.get(i)),MAGNET_HEIGHT);
    -      
    -      fill(0);
    -                
    -      text((String)strings.get(i), mouseX-clickedOffsetX-5,
    -           mouseY-clickedOffsetY+10);
    -    }
    -}
    -
    -//
    -//
    -//
    -void draw()
    -{
    -  background(255);
    -
    -  // canvas border
    -  strokeWeight(1);
    -  stroke(100);
    -  noFill();
    -  rect(0,0,width,height);
    -  
    -  drawMagnets();
    -  
    -  // User tries to pick up a magnet
    -  if(mousePressed && isHoldingMagnet == -1)
    -  {
    -    // did he pick up a magnet or miss?
    -    int indexOfMagnet = -1;
    -    
    -    int mx = mouseX;
    -    int my = mouseY;
    -
    -    // Pick up the LAST magnet drawn out of all 
    -    // the magnets the user clicked on which 
    -    // will be the 'top' magnet.
    -    for(int i = 0; i < numMagnets; i++)
    -    {
    -      if( mx > coordsX.get(i) &&
    -          mx < coordsX.get(i) + textWidth((String)strings.get(i)) &&
    -
    -          my >= coordsY.get(i) && 
    -          my <= coordsY.get(i) + 20 )
    -      {
    -        // keep overwriting the value
    -        isHoldingMagnet = i;
    -
    -        clickedOffsetX = mx - coordsX.get(i);
    -        clickedOffsetY = my - coordsY.get(i);
    -      }
    -    }
    -  }
    -
    -  // if the user picked up a magnet and dropped it
    -  if(!mousePressed && isHoldingMagnet != -1)
    -  {
    -    coordsX[isHoldingMagnet] = mouseX - clickedOffsetX;
    -    coordsY[isHoldingMagnet] = mouseY - clickedOffsetY;
    -    	
    -    int idx = isHoldingMagnet;
    -    
    -    // save values
    -    String s = (String)strings.get(idx);
    -    int x = (int)coordsX.get(idx);
    -    int y = (int)coordsY.get(idx);
    -    int w = (int)widths.get(idx);
    -    int f = (int)fonts.get(idx);
    -      
    -    // remove
    -    strings.remove(idx);
    -    coordsX.remove(idx);
    -    coordsY.remove(idx);
    -    widths.remove(idx);
    -    fonts.remove(idx);
    -    
    -    // add to end of list
    -    strings.add(s);
    -    coordsX.add(x);
    -    coordsY.add(y);
    -    widths.add(w);
    -    fonts.add(f);
    -    				
    -    isHoldingMagnet = -1;				
    -  }
    -}
    - - - diff --git a/examples/seneca/textWidth/2d/demos/poetry.js b/examples/seneca/textWidth/2d/demos/poetry.js deleted file mode 100644 index 845524d7a..000000000 --- a/examples/seneca/textWidth/2d/demos/poetry.js +++ /dev/null @@ -1,260 +0,0 @@ -// -// Poetry by Andor Salga -// - -int isHoldingMagnet = -1; - -// using arraylist because i think classes are buggy -ArrayList strings = new ArrayList(); -ArrayList coordsX = new ArrayList(); -ArrayList coordsY = new ArrayList(); -ArrayList widths = new ArrayList(); -ArrayList fonts = new ArrayList(); - -int MAGNET_HEIGHT = 20; -int numMagnets = 0; - -// user will click somewhere on the magnet, need to save -// this value so the magnet is drawn in same cursor spot -int clickedOffsetX = 0; -int clickedOffsetY = 0; - -PFont courier; -PFont arial; -PFont verdana; -PFont helvetica; -PFont comic; - -// -// -// -void setup() -{ - size(500, 500); - fill(0); - - courier = loadFont("courier"); - arial = loadFont("arial"); - helvetica = loadFont("helvetica"); - verdana = loadFont("Verdana"); - comic = loadFont("Comic Sans MS"); - - // add magnets in specific locations - int xStart = 350; - addMagnet("By", xStart, height - 30); - addMagnet("Andor", xStart + textWidth("By") + 5, - height - 30); - addMagnet("Salga", xStart + textWidth("By") + 5 + textWidth("Andor") + 5, height - 30); - - // hascanvas was being a pain with arrays - addMagnetRandom("a"); - addMagnetRandom("a"); - addMagnetRandom("a"); - addMagnetRandom("a"); - addMagnetRandom("s"); - addMagnetRandom("s"); - addMagnetRandom("the"); - addMagnetRandom("the"); - addMagnetRandom("ed"); - - addMagnetRandom("Seneca"); - addMagnetRandom("Firefox"); - addMagnetRandom("DPS911"); - addMagnetRandom("Processing"); - - addMagnetRandom("Miri"); - addMagnetRandom("robot"); - addMagnetRandom("jolty"); - addMagnetRandom("cookie"); - addMagnetRandom("magic"); - addMagnetRandom("cow"); - - addMagnetRandom("free"); - addMagnetRandom("love"); - addMagnetRandom("cried"); - addMagnetRandom("rain"); - addMagnetRandom("forest"); - addMagnetRandom("dream"); - addMagnetRandom("gloom"); - addMagnetRandom("dark"); - addMagnetRandom("leap"); - - addMagnetRandom("who"); - addMagnetRandom("what"); - addMagnetRandom("where"); - addMagnetRandom("when"); - addMagnetRandom("how"); - - addMagnetRandom("I"); - addMagnetRandom("know"); - addMagnetRandom("my"); - addMagnetRandom("will"); - addMagnetRandom("you"); - addMagnetRandom("how"); - - addMagnetRandom("see"); - addMagnetRandom("smell"); - addMagnetRandom("taste"); - addMagnetRandom("hear"); - addMagnetRandom("touch"); -} - - -// Add a magnet to a random place -void addMagnetRandom(String str) -{ - strings.add(str); - - int r = (int)random(0,5); - fonts.add(r); - - coordsX.add((int)random(20,width-textWidth(str))); - - // don't let the random words go over my name - coordsY.add((int)random(20,height-60)); - widths.add((int)textWidth(str)); - numMagnets++; -} - -void addMagnet(String str, int x, int y) -{ - strings.add(str); - coordsX.add(x); - coordsY.add(y); - widths.add((int)textWidth(str)); - fonts.add(1); - numMagnets++; -} - -// -// -// -void drawMagnets() -{ - stroke(0); - - for(int i=0; i < strings.size(); i++) - { - if( i != isHoldingMagnet) - { - strokeWeight(2); - fill(250 - fonts.get(i)*30,20 + fonts.get(i)*40, 255); - - switch(fonts.get(i)){ - case 0: textFont(arial,16);break; - case 1: textFont(verdana,10);break; - case 2: textFont(helvetica,18);break; - case 3: textFont(courier, 25);break; - case 4: textFont(comic, 20);break; - } - rect((int)coordsX.get(i), (int)coordsY.get(i), textWidth((String)strings.get(i)), MAGNET_HEIGHT); - fill(0); - - text((String)strings.get(i), (int)coordsX.get(i), (int)coordsY.get(i)+15); - } - } - - // - if( isHoldingMagnet != -1) - { - int i = isHoldingMagnet; - - switch(fonts.get(i)){ - case 0: textFont(arial,16);break; - case 1: textFont(verdana,10);break; - case 2: textFont(helvetica,18);break; - case 3: textFont(courier, 25);break; - case 4: textFont(comic, 20);break; - } - - // shadow - noStroke(); - fill(0,0,0,150); - rect(mouseX-clickedOffsetX, mouseY-clickedOffsetY, textWidth((String)strings.get(i)),MAGNET_HEIGHT); - - strokeWeight(2); - stroke(0); - fill(255,255,255); - - rect(mouseX-clickedOffsetX-5,mouseY-clickedOffsetY-5, textWidth((String)strings.get(i)),MAGNET_HEIGHT); - - fill(0); - - text((String)strings.get(i), mouseX-clickedOffsetX-5, mouseY-clickedOffsetY+10); - } -} - -// -// -// -void draw() -{ - background(255); - - // canvas border - strokeWeight(1); - stroke(100); - noFill(); - rect(0,0,width,height); - - drawMagnets(); - - // User tries to pick up a magnet - if(mousePressed && isHoldingMagnet == -1) - { - // did he pick up a magnet or miss? - int indexOfMagnet = -1; - - int mx = mouseX; - int my = mouseY; - - // Pick up the LAST magnet drawn out of all - // the magnets the user clicked on which - // will be the 'top' magnet. - for(int i = 0; i < numMagnets; i++) - { - if( mx > coordsX.get(i) && - mx < coordsX.get(i) + textWidth((String)strings.get(i)) && - my >= coordsY.get(i) && - my <= coordsY.get(i) + 20 ){ - // keep overwriting the value - isHoldingMagnet = i; - - clickedOffsetX = mx - coordsX.get(i); - clickedOffsetY = my - coordsY.get(i); - } - } - } - - // if the user picked up a magnet and dropped it - if(!mousePressed && isHoldingMagnet != -1) - { - coordsX[isHoldingMagnet] = mouseX - clickedOffsetX; - coordsY[isHoldingMagnet] = mouseY - clickedOffsetY; - - int idx = isHoldingMagnet; - - // save values - String s = (String)strings.get(idx); - int x = (int)coordsX.get(idx); - int y = (int)coordsY.get(idx); - int w = (int)widths.get(idx); - int f = (int)fonts.get(idx); - - // remove - strings.remove(idx); - coordsX.remove(idx); - coordsY.remove(idx); - widths.remove(idx); - fonts.remove(idx); - - // add to end of list - strings.add(s); - coordsX.add(x); - coordsY.add(y); - widths.add(w); - fonts.add(f); - - isHoldingMagnet = -1; - } -} \ No newline at end of file diff --git a/examples/seneca/textWidth/2d/tests/test.html b/examples/seneca/textWidth/2d/tests/test.html deleted file mode 100644 index 0b48e8386..000000000 --- a/examples/seneca/textWidth/2d/tests/test.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 455

    - -

    This pages tests the textWidth function for Processing.js using different fonts and sizes.
    - The numbers beside the text are the result of calling textWidth(). At the top of each column is the font used and size.
    - If red lines entirely 'underline' text, tests have passed.
    -

    - -

    - -

    - -
    -// Test by Andor Salga
    -int y = 20;
    -int x = 10;
    -PFont font;
    -
    -void setup(){
    -  size(1500,500);
    -
    -  fill(0);
    -  stroke(255,0,0);
    -  strokeWeight(2);
    -
    -  font = loadFont("comic sans MS");
    -  textFont(font);
    -  textSize(18);
    -  runTests("comic sans MS");
    -
    -  x += 300;
    -  y = 20;
    -
    -  font = loadFont("Arial");
    -  textFont(font);
    -  textSize(25);
    -  runTests("Arial");
    -
    -  x += 350;
    -  y = 20;
    -
    -  font = loadFont("verdana");
    -  textFont(font);
    -  textSize(18);
    -  runTests("verdana");
    -
    -  x += 350;
    -  y = 20;
    -
    -  font = loadFont("helvetica");
    -  textFont(font);
    -  textSize(22);
    -  runTests("helvetica");
    -}
    -
    -void runTest(String a){
    -  line(x,y, x+textWidth(a),y);
    -  text(a + "(" +textWidth(a) + ")",x,y);
    -  y += 20;
    -}
    -
    -
    -void runTests(font){
    -  runTest(font);
    -
    -  runTest("");
    -  runTest(" ");
    -  runTest("  ");
    -
    -  runTest("A");
    -  runTest("AA");
    -  runTest("AAA");
    -  runTest(".A.A.A.A.A.A");
    -
    -  runTest("i");
    -  runTest(".");
    -  runTest(",");
    -  runTest("(");
    -  runTest("_");
    -  runTest("~");
    -  runTest("#");
    -  runTest("@");
    -  
    -  runTest("1234567890");
    -  runTest("This is a test.");
    -  runTest("lalalalalala");
    -  runTest("The brown fox loves pjs");
    -
    -  runTest("////////////");
    -  runTest("..........");
    -  runTest("$%^)(*%&#*(&@#%($*&");
    -  runTest("This_is_a_test");
    -  runTest("~~~~~~~~~");
    -}
    - - diff --git a/examples/seneca/textWidth/2d/tests/test.pjs b/examples/seneca/textWidth/2d/tests/test.pjs deleted file mode 100644 index 2dcaad74f..000000000 --- a/examples/seneca/textWidth/2d/tests/test.pjs +++ /dev/null @@ -1,82 +0,0 @@ -// Andor Salga - -int y = 20; -int x = 10; -PFont font; - -void setup(){ - size(1500,500); - - fill(0); - stroke(255,0,0); - strokeWeight(2); - - font = loadFont("comic sans MS"); - textFont(font); - textSize(18); - runTests("comic sans MS [" + "18]"); - - x += 300; - y = 20; - - font = loadFont("Arial"); - textFont(font); - textSize(25); - runTests("Arial [" + "25]"); - - x += 350; - y = 20; - - font = loadFont("verdana"); - textFont(font); - textSize(18); - runTests("verdana [" + "18]"); - - x += 350; - y = 20; - - font = loadFont("helvetica"); - textFont(font); - textSize(22); - runTests("helvetica [" + "22]"); -} - -void runTest(String a){ - line(x,y, x+textWidth(a),y); - text(a + "(" +textWidth(a) + ")",x,y); - y += 20; -} - - -void runTests(font){ - runTest(font); - - runTest(""); - runTest(" "); - runTest(" "); - - runTest("A"); - runTest("AA"); - runTest("AAA"); - runTest(".A.A.A.A.A.A"); - - runTest("i"); - runTest("."); - runTest(","); - runTest("("); - runTest("_"); - runTest("~"); - runTest("#"); - runTest("@"); - - runTest("1234567890"); - runTest("This is a test."); - runTest("lalalalalala"); - runTest("The brown fox loves pjs"); - - runTest("////////////"); - runTest(".........."); - runTest("$%^)(*%&#*(&@#%($*&"); - runTest("This_is_a_test"); - runTest("~~~~~~~~~"); -} \ No newline at end of file diff --git a/examples/seneca/textWidth/2d/tests/test2.html b/examples/seneca/textWidth/2d/tests/test2.html deleted file mode 100644 index 4592e1253..000000000 --- a/examples/seneca/textWidth/2d/tests/test2.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - Processing.js test of textWidth() - - - - -

    textWidth() tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/textWidth/3d/test/test.html b/examples/seneca/textWidth/3d/test/test.html deleted file mode 100644 index d7174774a..000000000 --- a/examples/seneca/textWidth/3d/test/test.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - -

    Andor Salga

    -

    Test for bug 594

    - -

    This pages tests the textWidth function (in 3D) for Processing.js using different fonts and sizes.
    - The numbers beside the text are the result of calling textWidth(). At the top of each column is the font used and size.
    - If red lines entirely 'underline' text, tests have passed.
    -

    - -

    - -

    - -
    -// Test by Andor Salga
    -
    -int y = 20;
    -int x = 0;
    -PFont font;
    -
    -void setup(){
    -  size(1500,500, OPENGL);
    -
    -  fill(0);
    -  stroke(255,0,0);
    -  strokeWeight(2);
    -
    -  font = loadFont("comic sans MS");
    -  textFont(font);
    -  textSize(18);
    -  runTests("comic sans MS [" + "18]");
    -
    -  x += 300;
    -  y = 20;
    -
    -  font = loadFont("Arial");
    -  textFont(font);
    -  textSize(25);
    -  runTests("Arial [" + "25]");
    -
    -  x += 350;
    -  y = 20;
    -
    -  font = loadFont("verdana");
    -  textFont(font);
    -  textSize(18);
    -  runTests("verdana [" + "18]");
    -
    -  x += 350;
    -  y = 20;
    -
    -  font = loadFont("helvetica");
    -  textFont(font);
    -  textSize(22);
    -  runTests("helvetica [" + "22]");
    -}
    -
    -void runTest(String a){
    -  line(x+10, y + 7, x+textWidth(a) + 10, y+ 7);
    -  text(a + "(" +textWidth(a) + ")",x ,y);
    -  y += 20;
    -}
    -
    -
    -void runTests(font){
    -  runTest(font);
    -
    -  runTest("");
    -  runTest(" ");
    -  runTest("  ");
    -
    -  runTest("A");
    -  runTest("AA");
    -  runTest("AAA");
    -  runTest(".A.A.A.A.A.A");
    -
    -  runTest("i");
    -  runTest(".");
    -  runTest(",");
    -  runTest("(");
    -  runTest("_");
    -  runTest("~");
    -  runTest("#");
    -  runTest("@");
    -  
    -  runTest("1234567890");
    -  runTest("This is a test.");
    -  runTest("lalalalalala");
    -  runTest("The brown fox loves pjs");
    -
    -  runTest("////////////");
    -  runTest("..........");
    -  runTest("$%^)(*%&#*(&@#%($*&");
    -  runTest("This_is_a_test");
    -  runTest("~~~~~~~~~");
    -}
    - - diff --git a/examples/seneca/textWidth/3d/test/test.pjs b/examples/seneca/textWidth/3d/test/test.pjs deleted file mode 100644 index 42f9b6699..000000000 --- a/examples/seneca/textWidth/3d/test/test.pjs +++ /dev/null @@ -1,86 +0,0 @@ -// Andor Salga - -int y = 20; -int x = 0; -PFont font; -int lineOffset = 8; - -void setup(){ - size(1300,550, OPENGL); - - fill(0); - stroke(255,0,0); - strokeWeight(2); - - font = loadFont("comic sans MS"); - textFont(font); - textSize(18); - runTests("comic sans MS [" + "18]"); - - x += 300; - y = 20; - lineOffset -= 5; - - font = loadFont("Arial"); - textFont(font); - textSize(25); - runTests("Arial [" + "25]"); - - x += 350; - y = 20; - lineOffset -= 7; - - font = loadFont("verdana"); - textFont(font); - textSize(18); - runTests("verdana [" + "18]"); - - x += 350; - y = 20; - lineOffset -= 10; - - font = loadFont("helvetica"); - textFont(font); - textSize(22); - runTests("helvetica [" + "22]"); -} - -void runTest(String a){ - line(x+lineOffset, y + 10, x+textWidth(a) + lineOffset, y+ 10); - text(a + "(" +textWidth(a) + ")",x ,y); - y += 20; -} - - -void runTests(font){ - runTest(font); - - runTest(""); - runTest(" "); - runTest(" "); - - runTest("A"); - runTest("AA"); - runTest("AAA"); - runTest(".A.A.A.A.A.A"); - - runTest("i"); - runTest("."); - runTest(","); - runTest("("); - runTest("_"); - runTest("~"); - runTest("#"); - runTest("@"); - - runTest("1234567890"); - runTest("This is a test."); - runTest("lalalalalala"); - runTest("The brown fox loves pjs"); - - runTest("////////////"); - runTest(".........."); - runTest("$%^)(*%&#*(&@#%($*&"); - runTest("This_is_a_test"); - runTest("~~~~~~~~~"); -} \ No newline at end of file diff --git a/examples/seneca/textWidth/3d/test/test2.html b/examples/seneca/textWidth/3d/test/test2.html deleted file mode 100644 index 2b7872d79..000000000 --- a/examples/seneca/textWidth/3d/test/test2.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - Processing.js test of textWidth() - - - - -

    textWidth() tests

    -

    - - - -
    -

    -	
    - -
    - - - diff --git a/examples/seneca/tint/string.jpg b/examples/seneca/tint/string.jpg deleted file mode 100644 index 240fc2b395c390a23861801b326ee15d0a4de6ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104209 zcmeEvcUTnLvTqM4K?wo|GDr{uX~;tqL4p!Q1SAW?kaG^gU;+af$yt($fJn|NNhC_n zAUVe&4b04I(7m^NpL6d!e(&CY-beFw&FWfJwQBuVbx+UKG==NKjRB`_$SKMJ5IhK= z0R92E?{s|E-7QQ3Kv@~M3;+NTKnS4(@WB=Y`~x7g!12R202o8){%l)9F8-9k17)B9 zNCA3qcZBdAwoilYAb$(s*iYRw@U z8vz9Wr;h}`&I7{u*E}E>ew_!1$xnYF+<1T5rrG~t?f|U=M1H*De#P>DcYx&*Kyo-I zLm6cN54Q}E9UcKDz6YAPLEte!LPSJFOhiIVOhR$;#7T-XyiHJ{}1jFI)oe%&I|Bud70OS}1AMY66aY6#3 zGro( zem3Lpjt|3R)X%`31lHII4jdr7Ao#fhbRzYf$#o4OXTu4cjktbkM!G&(ysR(UEY75jt;i59WFnQ1G+Jk zGqpfVq?{(}XBO4v=rzT@>Bq06#gZ7`qi{grImP}6G5T(}Nhta@-4Z#iXKO!}CaGmo zFllTH>6h);|FSf@(zi4xbkSkBcvm^tDta30bxtj+qd$ncS>6U=6Nj%rXO#YV$X_cj z_)Gc5TGLSE6OIg98CGBS6OCpdCfp@o)s2SJz&9B$QScP0 zjo|=>7ni(Oaw_cg5l^~{U>r{U1xzi&d!r>~RWY5sWi}ed=ja>_++gSs@)=Jq4jXIN z(VWz5+km%XUO*QnOun5Q+?aS*;8vzyeUb2qa1^(Jk-xR!2B9dj6C`)F%{ z*#4E+(TqCe@&vae)n!W2T^JMP&V!neu8Y^`we~u`kM30kR3L|Nz~=>*p^RRYoAKie z-sOyPl{@#a*pv^{QEps;w67m~`?J%Fr89*e zBeyRc!vT|bv*lm<)@8)wEtszcpJnpj=#)%-{Y7Qujoqj9hP~|0Foq={_(X&MO818(Kl z`bIulB9~eAde7YS$lvbUCN`L9MQGUIg0hCE($JWATH)we64Q4}*A;Z3Ium5a+B=4@ z(+e>uYfEaIjqMIy9K->~vQdEnEjHqXODxaCMTNDnZW{_kTBg@E704j%UxRWS#JJ8t zn8x0C`af3-ttU_W);rym*IauICJ?YjOujmqP}tp#zOH|hBF-sK(WcovWW1ddbk5)% zx(nHBse%Kpx17`LN90(=)<5I1c_?7l;no2TtEVG%2O5h_h|`xb_kQrbB^pC_SN|B+ z%hIdzb+5C(Rw)j!+&iPm@p_@xmar49ZyGc9M7{$4cmUHlP8nM%o zTOvXYnzGRSv!0Lo5rH^>7)!ouxy6-J!?OpGvTh=H>$YJ24kNZWSllsa_~9)Mkisx! zqGic4XEBlQE-&zKVOU2Qrvr7BZS9$q2W`F-CUu!jUt#|IB+w08$>UG&NWFG4I3sIQ z&#)J>E1*~3*XTgm%C#(&b4IBcR?;rbdCVio1KYusU6#?~8YwFF5I;@~DYhMkFj{0b zr@t4B=Vh}$T`DR_$?gg%(yRA?bKbL$sr{HVGS0LSD_9bS|BQs*JqWxC=)Bsiym_+1 zRC4o*!{VD2i!EOPH)E*{p5#a|TD_jgrUWXyd#dGF3=Xi#;(Mv^e#*EZl5Z@cwxM%= z1Bq+T{#IEagN@fD7H`pgJB+cZYQOB|1|WY~!Wfx_x&gZF_IjEF&Ks!I+(a z!B;$;_h?SWJLMfy*=U=F0}p3L*`^Jtlk~cH_2Bx*JCiBFEs0I?Z+BV(B$28tqf4q8 z+4AQI)IVPqW|c8-*hW^g`BD0Dy1Yxz6LYvC*uRwN~(!hzmU z7;_tj%$aqmO3{yTop|qWhmo)aW)=FTy{ch}-7n_4m2JI^f{eD3+ML^_vE$Y+)}zN4 zGQBKAhE<*nAT1JOv$x#hH77-dL>umGTcyUG6}I--V9acMsY1`}sk)9~ib-w!zV#Lw zMNXDv=KAUEr0$k)r@9XQT@(4`+2N|ujhFAT_&zgBe99i^pcB1}Dk=OZe6l}qH@&YJ&`Vp(HPL_EUfQgb+tVb!K3}*=mI^0wvXx8-3ISFO zz!Lx?*l`#AE~iK6yZQo`uYSI{gH4X@#Nzgf*-R=ddbPd`&#pX%5-tff2v4_3ZIYsN zT&_wUq}DrmU6nDlC|J3hU=Ge;B_Y+U!4NyG%eYBiCLbmFL!Q4(&N*^P;Gu5I)#aCT^tbe7Mro05HjuMVk5}J)S3srJ$zXI zrg8h8NLc5pQw$E!&_VXYI68Bps~MK*3|e%K6_&rKZq;ICCVbudb`zU|m}Y|n6XS^! z+AY*&3=IbM^nBwqKmK?w4GLagVY5pWQxXyK8T1!Edx>}@TkW-Mz3u*vz~syiG(dFY z+XBSkw7pDzQ<=ds-uglI!acGT=Co4n{iw>()#|>yyGgw8U|$6anFfFVDMy4Ky<@9G z_=YFeP*dBpBo(b}e5I^@eB>mNxyuT(NDr&GiW4%T8rAp#dgXJ=IHnS`3Mr{I!z7K>VEHimf>_5k4tR{Jj*Psc;9xmMo03f&AVSBDQJuW= z&V{5$>)T4TIa#BVBH=^r;gfC;!Y{>DH{;iP954oEGkF3`XMBg zc3wB{)+`|&;t#mdUA4{KE*<@%F(;Jo)*nADP@~AGQ?O(=gZvEB31%iq4OeLMV%bUU zp~P@piE9bC;o#pyRWm15j&_LJj*A-Aj&1IL9~c}X=KpPQKX~TKwY{sR%th@4Ev*!U zLldM{$cO@@nq2RDuiW!ntF-r25{CyhT@93@L|`9%1xQw-aln^snz3MrIJ3ZelO$>( zt5xgq$ta)D0TG%fu3LhO+_ouY`&A)0;8k7>T-VCQFHv<(2XBVtmb569?t}KZWjoB7 zn5Z*1#y9nXYh~ANzyzU$Pq(ppYDip1rmNH2s(|=g`?2vY#S?;0S_MlmuZqz=y+T7) zN#Qskk)kXI-;s8l4$UE3nTiT<9c{s^6!aGl;{e_2&M&#$YWa){S+Oq`ycD6@edCaA zg3{{mG;qCXA53C8^7~7N_3T_gjAcgKrvG|&)H#N7?|0bDIg63e(YvRBuJ6}wp_;a_ z*(;8>VzPSc2+XAODniL~<*08oeoO$T+>`@bn}&7 z7=1M(RPQO(D}O;%Zu|CN0~>;AuSn(6muCuS)n??3fQ^Oi^$GX-qIrz*)v%t@cbkUG zTg9Vj@=*+JgFT8TXF8z^f4{vwX+%u5xU18#Iw8dR%b7iNpgcT22OqlegYU8@r8Fe`Q&&z115nb6$1lCqm#x89fy zd#VIE#ZHx0A>}i^F?{pf+2WW0Gr_z$!5q6X@2bq#6T2^jS?bl*qeqQc&6&yshmc`Y z?VIuC^!0o_TIROp_n4G|PfB2Wu~RCkSSkjmR_a!HB5za@)TiTI_t{#9){%f3AZv3GfO{WPkO zk+`;RR*7G0s-sp41C`;*_rl~tdLASX(+y){aexH0YSA9C$1xk#^wyp!VQE`yKl|A` zo5&=!t_oj#={HMGNKe{cpN;CsqSeq(nJtFn6~X+zF%GuG3+aB(tPD=Zjo&NT*iYjd zP;}BWkt{V@m5OJ;!b5{30=-++m5^pCIfgV*wHW(`HskguE`JgH<(S^N z%VErO%JF=>qEtEl>quNDxk78!g%AnNqL1x}5o9VnhbeAeKE(~K`mKL|8ME;Ao_1lW zhQRZIan5^^=yz_rEg#BRUA&@8unDpAxi$|z#pwy3lRX>u4Po26Tg(e{DH*oOrP3Tk z%Hh8$csRJgI;t?d^kE*k>gp4j+kt*@1;Z3#LREWz(G%(RBuPj*Ae1N5O_<=_qN!kk z9(#`fdO|s+qO4vKYk&i8v~_r$&2hWafQhH`o$l78Iw@m}uZWz>ma5pRUX@z4%uz4% zU_nD%g!Z1Yp(CWX`5J_G>yfX@vBMhga?0uMJ+sN?x?dZDd^ubl--BUKmSm#oN)thB z*vyUZ-jrY2AbcEjF;JvR`-TM9xgKGm#JAg;GRNcWtnE2anhje;cR%D7Wmz&;8Pt@J z37+(VMVRvWYgc<)lZst+4$RITYM6m)x{?X_S7^z5b_+#ueuTB~gXd7H6%jaHxaweDli#%)B1BwPU(FCr!G0JoO9j zEG5Pj2Ttfb!YmeV6l*B&EtF#yh8MsK8mi}bPOTN=R{0XCi7nSt>)Bq0yd|toZg7%~ z+r!@2_@ygOCV+HEL%HT6ay`Pr!GZEP1@^Q)(b#7=_1b=Sd;L`$pnub>w{lx4Y8OKguZ+`q)tqKiB8_%2nU2C(Ur74 zmF=As&}7?z5ykCOjJ-%Bf+kv9m|z!`9cEX<73MV1>o`I3PL+EDtunm31*6!iD&CWPVNAX*kG*Le zBKJggxwEm^!Gw@g;8{wqfA#k57u?AuMfH-!F@ic|{ZgBk2?i1sy*c5*Gg{WjxFtuL zuMWYtrNfR!+e-a`>BaO77YNl-2Ewoc>SH57)I3o0}Jf*Dj1-ngMwz*t>h>o=JCz z%$w|jYAf1#`2qzd#d4{v%HX>^%emkef^(>SI+Tw;)&U!iJ=d*LQ-kc$Z$;{wB_ke( zFs1ulxOa|H5UZM9j4kv`34MrWSU_#PKkI#2q1O;4*DF!ZiD}!jp#sk=r$)5i>L{8C z4b{n?O`0#?9rfQa+>ruDXwpSZl+U@41`6R7NElcfF&ZMq*eJ&{}Tivf<>UAS$qMrEv7IPW=kUbRO#dqvOyUH+~ zQG1v`6nTr=N@iI`RlQ{Wsp$mqHq6bQ1}z*Awq6~Fb=qfQQb0=K074w#0DcX8qlysa zr$)iZ0_&&lKh%j>pr2&a+zkNR^m#!?6P;ynv=YznZR7g+^80m?)$zd6e2?}Og7R_ zn!7)X+!A7)LNP6PS&-dj~L`CQmKfBCqSH4{~++j)u z!*Fjt6Zy?eoP2%@YqonStdrl@?3{V-*6>X80I4*Kwy ze)j#yAsyu24suD5L%j=!ePn;BNcjRkERr7b4sueAhmtgZKgQoUJSIM*Ac6eQ`jP(v zGgSvVV7BdGJ8_t~I%we?`m=e^1ij!fH3fUDK?>%`zzy<~lM)mACx`EluLIIQWCRa6 zTz_#6ZSH`_0ALU1!T#-rKYP&qZ@X~+FMWr|5FOYC4(1BZ8}I6m{U?fyAQw2y?ES!p z_TUg74w4`9IXDC$AZn04uyGFH2ZR7&fDaG=z=Z{1;HwZ|2$+H`D7eE8d*A>ZKbx_@wN>tbyUz8s`g35@MrY)zb0jV%vc{;78x?tG9B zJqQip4wyQ%wzD-mXdi4!2vg@@kFPn~+59;E;l^z<^Pl~P6DDx7wtyp?G_94KKxN3^ z#yNi22eK)_o$&BLQT7+xgl3L*F7|(85!g9em|55&Y+Y&dEhark&CmP zJi->?XylAA0U5v@4|~K<;S)cE4>$)siZ*7<;LHE^{PA5Jt?yjFdj}lqC%6aT|DB`k zWQO<~hrr0%`Hqp<-*{wj1gM8_cUE*#xTCCOY-eYEV36n!_TPkw&FvgLrL8T@{y>WS z$K)0MV1t^3CJ0j_7i(v*N$iSnbpAKunt!nWE`HM3OvcXI&hZy;DSp_$CjVy#r~;_i z*&bj`>}+SR>f-E#_%(1&Sc8G|FI*C1J7+MU{)K-MTw?QoiXWbv7Y_ykNWdK;wR+h8 zaUN0}wjn>SS_i)v_z}=Qu8Ifp04+604nRx>ckl`X83TaV9{~W&$y0+F^`jj8Q4W53 z>nI0*l!HIY!5`(|k8IoNgv zcc;S^n3x8r{x1^DfDE7xCU_5$PKP7>$Pg3$c%?tz@cb$_ z+|Gu_-N>E?%FW9Ih)cQK8^Ns*&dkOLFbgWdvQl2n!fat8!J;Lo%&TlKgD|&H@N`6| zd#c=lds@L^CM;5tC&b-F-EHh`5Y9%-?l#u8PNMD-EQiKL!S(^0hlTl2#Mw%Mg`XSB z4dsGD`B)@RFf%iYJDQk^-j5q<&CQM5ji1}j(ToQQgTZ)s`FQyFxIhUm zCl6a^BX=%aC)OWE{;(s9aDqEp*gIR;*)kv4H3DR*#Q49kPzcn(77myr6i z;~)J0Ak_Z*K>HQGgM}28aYTT>FOUUy$%6;Uxp?`xpdxqvc#xcnS3s1P_t5iSC4ZUJ zfemFl6AM$1|HQ^GlK->;p1USS&PM-{m0xB5Vdro@U^*ZCNrB|yGv)vOsrg@~^i%k! zo&T|=FoFNM687NlCJwJHCU72vHR9k*bOJAeP@cc7h6!BM)Xvey$XU|D#>fo8V`+~t z6X*Gh`#pQc7ge``|xu8H&6fU5%M=d#?jBrGuEFxrYG%O~=2F>Vuwtje`TO=q(F(g!Nrn3-I)GI*0`UVbIrq+w%*` zfAwqsrO78G^sDACJ^$1^Jb%=|`yhlQ7Z`ho)_&prQ~YnB@e7Fv32+MV!i0DaDY#I= zP`)3O?~wC@@`HRq=nokI&I2vsLkcb`xL_a$q##E?M3DE8f(r_^!Q})g7y!cjV0au* zP#&bP11bVag7jc4elS=L=)oxbU=STpP#2_!x?l(iKn1|w0}6Tz(jOe*!?wr)g@Jy8 z^iT#S2)2d!4*0@gxPcT5N&zSgw0S@ebYUU~x-gLg8JNg{3=DQC1A`v653Iost-)Xi zBf<`C!VWwE-{FKf!NBDNgPl`|QJ76QK|d=yJ76QK|d=yJ76QK|d=yJ76QK|d=yJ76QK|d=yJ76QK|d=yJ76QK|d=yJ z76QK|d=yJ76QK|{NF~`iNBs3Mc9H5i@JeNh5k}M^y4Ozm^XLjvdFxBY*%u>xbgu;s4tE_y1jr2f;t6 zA4))o4-z~l2p&GgG2l2@KvY_dfXWCgAbOfFG==cYkNTb8`Og}!vN=9nW0w(74}0|i z?(|tumLohhU+CN&6X%+aaiR;4h)+<{JbrmyF0DYbQ{y7-`ozXT4N-*4lZYR6ME{F2 zq9O`+&E20yzb^UGH@kBQrl@V<@hs*|X=DG~?q$&%I+mW#W8ap29hgV|s5gp#{5V(x z^%xO8zRh9n&x4Yu(#O?6j|m(egz}~2t)Bk$?K|tWGq;T$*ZA24WFDRkQ)hn#|L~d6 zsY7sF_R+aJ;b3)DYMKi|*J(LSoHc~kQ}b&sUh16Kc>FT0;O{QW{Zjk%*V3nd^ZCDV z`R^r4r_eqR2tqB3X>(Tu#Tv9wWT-&Z8uc;NI;>{@lxTuQ(_8~8D7XAxi}ow|>#MrT z*&gA_9j6_GuqMT*29=BZLrM2u#VDEb&dr4HCO0i6kGYP>+;dxGy1MJq!Uz1#&8vsEx%r2BV#Qp)kr0h9$~32x-^6dDrL=}fl#NkMPs8jDyl~% zBp+!#=kWK>>_U!u@Xr>Io@;i{Yowo+P{GUB>D)`9fArGvj(34W9@;D5TY{V(fta33 z$4cHN`RrFItKukgQ$Q9;zUC6kY59$+O-+%q9O6J)q1X-D7fLKnx%+Bd*aa1#dMO2>l%AwHx{5{2UKBHx)H9|bqR$?3)w^IX!&V))6?1bL zzIr2T`r;`vWp=gTeEj0hnDyZ0lke)n%5MNpl1ZoG+jGh|pwX1((c6d{ zBQNsuVy?=UKbM+Q3UPIP`c20`Vd{2wB3r--M;19I`y6XQ8aF6YouN~ctF7M!k@aRA z;8sTqmhr*?br-F)!t~!kWk<`dj%#9kKNX!>cAJIPJ-wj5Ju0W_$i)3dl`N{1 zyL*TVl^wT;Hw6Rzmo@6%iZi3@NG}d45E(8;_VYjKo_j1E#Fa9$d9&JQrLxb})>_A5 zeDa*s_BqtPs=@U2G+iRiD=u$RviJdFu2K$>N~LFPd5P+=dh#(Ixd|Lm>Kk13>G}Qj zekWb#m8qGNw=-NT!!uS<$u6NDOPXq&^}=5+d)9Z1EPME$D}Kt%jN+=#oTce9cNRZw zA|ZUD2m*S`}!wVVP+#PahPze*d+%N9?>vI&4nsaoje%e#xCVgPFhuzm6 z2o%x-$|JV;qWjrbfNxvuet1wko<~x~#gpYdPi}sZX}fm&%#up?vJ=l)ZZ3ZgnVcp3 zhvH7+x91@Hm#$eV-~aSrd~Df&>#i#-X^iNE2V~$wmkDJV>yCO0?I+Wi{?xY$Lbl1! z`KtcxwvY$^6#XcH^-KZ3Ixp6J+4figm08Y5GDSv|V7z?SSb)sgWV`@=j`OE)zDVfu@r`d;5)vw(7Kp-G})TldzXH6LrBcQ^+l*IMxOkI13Y`e3E_di!iLq2S{1#|0VX z3i6uxqAEg?9sf%(=$G@ep&vx|s>hK-srSE6#s$hNBT&0aq3_m|Ajz+HZZdwVYHYS` zTOyihY%{h<71Hzg{@GQy27BK?<{n#q$-8;A6aj>UWk$SerJO4b5Z&Kxu}-hPF6Nb( zZj+vqnR??}2s}cm{RxxN{^=Pm@dn0Q`gz9^stX}@=3HT;cfYqfUoM6wlt9%~49>K~ zJBC(YyUF^T#zsHWbh+1jOwljauZXdIh*e6Jfanon5XkyhBl zez(P&hLJg$sw@n^AFSbwR6F&JlwzDO^5Yo~R9urR<wtFP1fwEYg<~eHB@JB>>~Q)@<0Q#h0r<6xwYIAMdi6~ikv=cGFHUvcXh?3@0c)~k zV0q@7kaMidg0pFX$z1@y$R=S1(8utiUS(oGef0c(q5~j3TE2PCYX40zgraeI9LtKi zbp2w4joooLGpt`h&@jX{b+U&0ENnl1P28j5v;y`$8rh1qt7EAsF8NS0J(EOni>#F} zZ`Mhal9GZ)B(M^0;W6&TJlQJVi>#su-*O^kv=2GOV>#)Mi?I zBl46<(ZpI4Rle41ia`H~Xti1uOs&M(%mO$W{XIJouxJfGSi;ZbQz4sH7dNXVbrV4T zAj73hYPn`(yWpOW8#_{jeCzTl)eBLVhS0LhgtzYdc!Y;jM{hWL+Q`2D+Q9whN!^%+ zd553S3D?;ix5=u8`@NGjrfC114%cT-dBy7Ws$c1`g$=RF7i7uQB87FlCyfGZ1=@t1 zNFM4-4@0Y6{l*7<@kHkDl0AC9MmPr#jV7ca?wn-Rpb3)2`U&$#mR;(7%3j&GY~P!X zxYDfg;*5a=T5I%57Ps3u5<^`36m83XY{bIQbyh|)k?hMv2A>oBJh(~V^yWc!A1v&r z;-8!d@c4oao{^AWulf2-dK!|g-&%amb?ZaZX^S$s3%7(gN(W)w1HDw4tK%1Gh>}Fj zvYY7h0W$e{&aHZpWx>I$n7Vs;_fEM?@ms$@-7amrAtwT-Xf<5cmwP4r@_jXI!AWm7 zX!?qY!CAHJk`mKOfAc9L1V4mKQu;IJ=3F;X(Tg{&i51tbUTm**JJB_(u*TqLI8J}>TSkDX zRvrRtP+rn$4KMCg&2}-aOMUn%+j?oQuZc09c=`>t$kGK$6~o_m^PpbSL&F(wjv5k#j?d#&*+)FYSvNBskMwszn%9qnNuZacJ)DYj?b|R>zE1yV@bYDfD zRochWwn5jz(v=!OE$s!HgMacxrE*v}Klo=rBKq ztdsS7BvDigdjzY}+mGRQek9yYj^whiVzrucx{>C@Qh#OOVW!YV^y-zyjTXs7`GUs{ z7h46_O$Joc>GW$TvgE~IPww<&3dUydsD^mi*5Wh0V9aX_@h*xS{@ih`D3qV5yFVJm z5kq1zc15o_;G_8Usf~MVBx+^jQK7=~I6#0$lyo{(A}Bodb8pl}^S#1?XKp+kv==ch zXcZM2_tKJG)LIRtu{?>7Od~34YI|xqbaGEy;Bh%qX1agxhFmq|%)@Sl87td{#S|%s z!C7FXNuqZ z-akS3i1&?Dp-gvq#Xc{Qlf?XZtvrTCEf}#p z`q4}(b+O;-16nfLNn*)k@0zGWkVJEtI9M&XQ+uY!o@Puo>`}61yLbPbr~awBr^HSk z;$@8{Ul90uy2#j2kD|@7!m39TIu|!jbdK}AUDNSmXmN6&?ox_Hxrw*ebEnzaO;>#W zdQzd;cJ{fj6xACN;Ww{`qrKF;H%>LM6`ex{M~!UTH$FU5E8jLV6NPDrOY`zz%YJ*A z^b4N|;ZWY(IzD%|MG(~|t}o~>Xlt;zX-#fid57h=(fEn+q)d9dZhh5rdwoIF4cVzn zsdq+ABOf`aTv=zTon{n=@i+MaQ4TyOm6@nGpI{}<)7W`im@;mC_r3dRY`E>2VWRH4 zy0H-=M%I1Dy_Bh%R>KZQFMjb0Qi5?E07`zha#t$-l4Ecb&l_pmWfvNq>4j~3^5ydx zv*f`qm}&%JEX)_3Je5z+B!aa#m5_c?bxaG$8~UT4-$>MIJ|~9ENE!1?F*Q3rz1lXk zxG`^($*>_+GmN>!e4&i~ZoN{tWc}@nk}@AnZ}}rR6vNf;MWfS@!6^AgHuoI1ko@q4 zN4JI{&EI$lh7wgTB(Y7pSLIf!&*xp?8YjELQ6n-}SK$*-fe?R@)%XgCfn1N-<++tF z%(v^Mex9X^=q|@Vo?c)ll3)p|XjzGj?Hfu zu(?LcJy(EHAj-LHlyJ2_lfm0Uw_SUkLQ5#<)00}ZHtajc}eIkJ;!C0aF(OVd?T<~ECEuBR)jC|PSL5G)+D z6)a~z&v#0K&4GNQSZ3F-X^E$2^QLd39YFDMA{9oLfL$yvaA7$Hr*9L!zPOzsuXY}_ z#MINw@@?X|m_7`!Fr$rdP=k=yxX-T zb!?2ak@Pa-BqhFdtNESSY4JIfS-7P`8$t3!WC!KG)@GQCjDW3#5@PxMcy(-|vW+M_ z*WxC2!dKnBG9nOo$wY8E$4w$Qca8PC>O7XIlj%{+i#r$GGc5IXMSdhl*5Pbl~>~TVZ%3Ikf=!I0hn+3?r^HoMMJh`<=8lgM&dCwa!N#MC^NHsgb zgH=CY8vHJjLdHM$#4BBD9vc?pQLQ4Wg<51q8O(BsSy7W}o>wivZZ137JQuzy8b6#D z>>C}V=Pw_A-6Ctq@`|mWZly8$Dh;bTyQ7|xKxtPQE|a00 zCfh3-_g3$Y9|h&DTkV&%JiX|G7Y!-?>(AAe&S&#E|_v;FE-Y8JKf)~*~A)^V%w5B`do}+ z1M~XDm1p`AFokna6vv{%qdZ2|S_Dlpr0U7n4$B#l)tmFdsxz`aIe~iGC)-zO*FuGF zc&AICz0(`zIS4cKV)^IxZ#%+ghP!TVvV{{CjkD{QmIt4RwTp4NpCEq0NJ?G3nO0#s z1o#^C4%wsjkmUiRQC*@sXWq*)V)6v0_Bt0DJcIHS%wTNz^5yCpQ7#&k`qaob$Zq)g zuU`9LS?Uwg6A3;1m6uQtN||^G`eQfFW}Z}J>sp}TV!uy#!-w!nbTN-Ize^`7Q7=icx)SbPdn~tJVpu(6*}h79dD`&kyER3r3}84 zC0@PUAa=i%wqR|we_jnzMU*v?hQYs*-4xfL7Fdn@HW6u8qZT+a#l`hqd@A9kNIKb& zBL1{uavNv7_c1LB@kh(C&805XX~rT@93Uz0kGY7hnguK5Eg~aDr{kQ`t%@VrGs6UQ zT`SF|zGjqLC#&y=oD&He?wkzLQ;Yn(Q=;#45&xrf$8M_i2?mO8<0*{bI#%GLjTz#|}vADY|$=DgS*ty$WR z`@~h!`fn~e@$Um|N~UnY8L91*lW+ukH|;2fvH^K}uFf>nszkbvK2q-$J?1vnZq@&e zdxmwA$Mtlye(L~P=t(w}$Cd4NBexiaitkC3P5BT%zOUzxoJOg@h;7a|_bx3ap(LO2 z4GmwfosWI^Kpy_yz3YxWn*%(;=hheZQV9Oed2rO}!SSZkAA@S`cCgR03!fFm>maL^_E#O+x?lm4x>V!Q#qOr&%TUrcL9%oVIIklHBgKwRmYyb9PcjCJcOt-AVQg-6A zNAKJX2GYXSIPb|@1>4M~_EBd=*FBn}RY(=ScsP(T^<<^OXsZfsRpwk5C6yd$Q}!y% z&|JfzVTGP0Zivv`R~l-~`}6|7j?vq1W(icFY9II59&N6Md_QIPbBlRBS`ZeM9jjvR=`5e$>Is zMswphKr?Ag6`hKS60(xmd{X&%ozL&#Ej)Q?&1YVP_wV!VqwhOBF&Ti;dmu+-)<)LK zynU==N>iXc$&Td0HTK@7 zyZ03KbqV(CD&kZ-7MU;2w;);dZnSN=%gElYsZ5`- z%jA2w5yHZJG^cqf)(6KWE{cour!8hPKV3_^C_e|@ea%Q*(Ef^4`=G7lYW|XAJW~A* z!%O#Iqd{1LUTU~N0O6UHJ%eo-&-=I55cB)ixdN-#9uDh{Vcxn}+WG`j#kdDgI%i(O zZgB9p$;nA2b`vqAkXaao=BD$NrV$sww>&qoF-=p9r#8JE(bZaWp2`yQQ?(KzDJW#! z9$E&&R}uALP?khVM(cU(Vj*34?DqhrWfYBI$EV;9w<(O_9B2NNvwjUFgnrVdiD@pZ zan2=rlk$rq6QxJfmIrGXl<4l$;YKD^ooT4JrhX4`fFt$PSG@>sE=`5zrxxN~p%WpG zzX-OM>&v}V5xu5&eFsf3tD%>E!o-gqN2k>-u@}?;rPmEKXle@~svCn^oXQSE@ zwx5|{d1ZD)jcbz{p-Xda>AE=E9WR&6Dm4ZlCEbR2qH*lYo2{8#a55_Ad+7YMNrb4Px=gt5q|tf-r8! z^vSqso{VALCdWrxVJ5GdYIj71c{Za&46O<%s3+bs-7#Usm}48n z@;5KEN^xY*i=HnmD(lF7X&_^o&LIze8``fR#OB_)+-g8Qb?Mp1?q#V|4lf2}TLXqn z^KG9y8|kA_6qPoT(@>|3=IbXv*1uI2V#CuYnlJ5{YGE*lgn8W9F%^5!?RqxH{)@2! zG&@H1_!F)bBeqy^$Hb4AbV2l`*nX;-nvpGPGkQO;+B0!=zH^eUW_9_KrB@zPRd*adGZVCt^rknlq0=w->nBfP!{4*{(=d8S?iwB(7C;rn5yww#GGk`{35CWW4r6- zJYTa}-f84UFIJ%Dpr|lxAiw<8mBlxyoNvvTlI#(8hC7>xhhf%h;r+FJ!{p_lqKeD- z*DUHIWXe{s-a$rfjC++qq}INuIHu;P*{F#YLBHvN*+*aGonLYXwtDCTn&v;VRnzS-ro5FA@Suz@5j9Vy5zLTCIb~UBaGF5c3vGfN zy-yiq%XAAtsgULT*yVJP^valOkl9s|tL-I8(H_}yik4p}qX-l>u{2nGbzOM}s$=Z# zg+#fv885LkfRb`xf9*3pjzS+!-fZKJ{n&D)OgExtq@*Z=b$BY94hv zrD`ovcZt4j8fp@iG_q8W?@vvV-@M4WK3O!UXk5Jc$bQE|nDTC7S}y2(Kf3%;5>sb z+J3x~BqGdZlCTp8FnT2jo56!N==BV1n5suaIc?;%f*Nf$If5VUpEuD_yu3O2#ivE+ z%v#ei=$e64-;70S5bW3mTkNxjxoxI7=t4i+gG7}JR=1_RnFd0yu3&F51ld3zK!@~m zGCAL4u8oH%B4||^x*z#}h@f8@j37b_HCOR}hC|Dfvmmh6W7#jR`djXD>G5;+oZRqvfMpgC0|0QuNC{(hi5F>Q4Hv{7VJZcc-f}| z?CVU{E->eq%%EfS9uAMN)+Ruhog_^ zzkYf=)oOPB8vB@+ydmj@hrAC;Z-_%BhG!YE9Zm$EeLcit6)>mq>WDLGwy!ih@Xfx1>4-b3bfTY1{gv zb5o3qgxYeB+wF_5MOjWPmd3nluenJip;qyaT_)CrL;%Hhc3O zMV+n8c>{4e`&X%%oiY6d?TszpjCxehehR9A3u4QiSRwVctiA(Jin8yMuQq-pdcLfZ zs%}4iiF~@&HFSRC9Q3lqH{F3jw(KwYm%AQ6w%K~d*%sqT&*E|M#lo^{!h;4*imc7A z>Ji8~@vSTF6TSxTE#@@SuaYf&SBcmsa4zM4D*s|fuAN+s2JgN7 zi?1X0`On=9P;30m>a|OT1LC4cV)&XV6_*uP5D_I=NTj_xnZy}FBb3>tcRg4*w5e4D z8w_*9MpgJhGV2&bup2zx7=!Ay%PV5iv~r@^c)2gsjZiMF_Sdvc6^9Z=qPUYS)}EfA z7hsXf+?Qfg?KaU>IMeoqv(ORQv)XJ6t+fh)hlz{4BF^X0s^ouP$ou(of{y=;QcaU2 z%gh`Uty&3v#_F|GY0DxqW_nBUOvt{3kG2Ba)n2c{=<#^PN!B{=j>%Uc`Zr$du;lZa z5@Qu4R%2wT%F8=rRH^v}%uhZga!kKWz2>~#{Pd=oZW8qeEBNMlZqAcLD@(=B_oAS^ zudzmB7BTJ3m($j0E03+IzF@ji#nctAYe-$|1kueBeU9RR4836-mb+(K<0{HjIWQ+k z&-Z@-sX$i06CYH5(fmQ^UR={!={~;#R^HqRt))9qxvJCY1ZOX*$|87AGwCl+s>>0G zaGi<2^JJdt;96M=wOWfC@pBOHOSs9W-g8}m@lS{O(Bc08NL+FR!3W-weQj@Trn*zb zqoj_8gz>KVoG_Tmmp(elj2^X2b5(}dP*^6|wX^+VHEMy(ntm0{wwhAMWBJ0KU$&xr zd|15rn6>AX6-?Jw{K1k!$BS|w8&<#VX4@BNatEM%{Atciqvz0!TnjdQ>07FgtHi9NJzF=?~K6;?hq9?7oQeJAib}TqhKMRySj=#8g-0K{?53 zagZbjDA97kvt3?cu37pvdY-8jzt%O6DMdHbQ(#^T)I0|LLa#b|!<&3n8G-ycey{6C z_`e^{b{b7V#VhXV-p0JAELyjfb&1}pZPjLtPf+BYkB3~#)?pAa4`-m(%O*=7#82A0 zP4gx9mF#0WJTa!Hbr@LnSre4e#JjS@8)Xk&+pbrFWJu87-M+s`k1S!uD~v%N_7kZ2 zs`~OR4yO)%c!1!J<)=yP{IwDpa(ZK4sJ?{KHEl1-K30x%6G34z z*22<3OY7+m`?^36!j1bVKWFV>!4n~F2Dcv;e-0wgFHg}C{NIOr$L@70yvybZ?k^bM z-$p}S1p5fic*SiUHmNiO4S>teBO%U%zwz;D;vpL2AL(J|?`7I%gQMz@&SpHU^tk7D zks6BkE)TDBUj^c0g!nE*Wr+k1Lz{?n(&COo^+@gfUso@W@jM62RtNNh%^H8AA!4Vf z4E;g*00+^QY4dSM-sEcgFv4O-lzQ~vovhN~c4bBtjzuXUI{?FUJN7HL(UxU9dzk5? zAtBTo-=HJ@Dk`_3t*gwaXu|q!UgTDU`;Yi6gay?y&m$Qd<@`UW{*UK3XR0N{2FsC3 z3i?Ol9Bb4LqMp^s%NF+09Z8fp0ipcfag=}Jqx~QBsB6dy5NZR81ZCY=cEJ+WlybA~ zlBKbl=zYF2#wZ%SeU4WmB5XMrvCk-@(Fdsl@SAN$GbOW70yZdoPw+W@6H>Trdz>A9 z6D(&QVZ|Q*0OF5x8JYMg!F&{N#LgXiQ*|M6r630CxDhkC#lU zSw6z&VA6{bKg2Bm0G;^V|I^@5Sx01r)Gwl_5_^dy`sV5M;N{A{I*=sIjq%JCS$0t z9S2ch{GfTK;K20f7cbUxRixih9{L}9&uX#D!{4LIR#+b1Jv>aURrr++TVvmkLAG^r zjDh1J=5juks<_&Xs8MzbVOD7QE9go>71r4;}p2^dXI7M^Y401F@_0)Rvvlg z-8)P2zt!$7?L+DuOlf^EFA}iam0#L@`kH4=+4-_+tQmTLnm(`D7qZh%dVwHiQRaFv zOUoHkLS1U>oU`hV@_Mp0Si>K}7EYJ!0AYIXQY>+;O~H0$2; zJ-367V3^#0ic$LU{6B~w7oDfxzC2?RF-dQ9u z`gbxfjb_DBooa_mAQDo*QC%)$X;e>a*($B2QvsmMavuZfOi`Cc{q* zA%}zx9!IOP*9qSow~tTer9ND_Pt#E8(jy6E;-yVN;us2_q}2Sf(s)a#)y7^4$=vkT z(4@4sGRg}es-uxWNgTfn$%KT1%tKTrZ>j@Dg&$UwF!)tV*J^bcO#Y@iyo6(}_l^E& zG&eqBxFS_&o<_NNs0)bB%1J#1I%f9}jw9jq`lf%Q{MXWZ4;+S;Bb8UX&50wbOfAHN z(TMa)m9K{M>D>5y@~P!HBsTJh^6z%@21bBazcJb(+7<>-qG{NT;tVTK^_Xsa7K`JZ z91K7)KTJof^(=B55{}*8W+_F#IUVn&+M|RBe`PFKuBHy2N`0(YRVQ%=L%IbPY2G+l5PXoYF~{sZrO9 zu>QGjJi^U#4(l0~eJPmhar;7Re#X_Kon+%QY5TF=k#^tTW0?3y9p6`f;)p`Q-XQ|F zR(kcgxV9lAw{AC4fx6SF9yxrm%K@X;>2NV?@#>;y58*YEKc!MT3uv99kK$Q{Rs2ER zea8fH$n#;S!y4Ou?{ZSs<|zvOnPWTyo`p}@ujBy~y#RXsTHx{@@-9`U`z+-qqs&?shtCqCmp`0Hq)5pZJw+dho?< zccn_KT$rN=$Bdkm{Q%Q3wAjI%W;t$tV|Q)`?l}9o{0kbhOW`EeX$dy~dUD0LFbL#N zUX&TMpAB(d&PmUXdEp!6Fa0XMr=&}3<)qc(JffMJIpaUDK>=8N&s@pCM2&YmPip4k z?TE*q1MVdwXS^{fia$zK;yxM?Rq+ktGIa~w+r>vG4pSrEUWxfK_iyH#hL%A=VJjeR zfb)*Kdy0(2)MJc~sC`axNgd$Od1 zGQ1eWHx+tJK>2Ry21617JyLyNL<*WXgeyy{Pc5~;r!H?4VryW;Yyth^)BLQ$)MJT& zILB8z2CQ7XPL#ps^4^c-4<~Ck1ec0kP77ODx{$L(WraW+w?ka2BQB#C7cKewxxGe% zv~uUwLl^=eS1;z?_wY-#56g>>JlbfSC2ca%Vx;g}j#Em8oC2PM>HD)DeWMK+Cb)_3 zb9Mcobnx)csPRcJ^M{r+FDHn6zhPh!?I|?(29F~#AMe6VHv3ij24m>^LoTFvhFf=Z z{{Twl`#q!aWi3R_nSTiX0DQ-EOFNx&Q;N>Q)Zc}EGNfjZq3|z5$-T36hfOIPI}f$r zc8_V}!HkHIXZ$h#7@ydbeqs5F?CQtMx<${|&AQW6)Z%VRvM0hVU_FA9!I*!+cg~z} z#vR??t@C|8awKF8$l1w1_c+J(%4?!Px+alt1+BQa)hGDKkKvJ?VZ^YlJ|kaFD)d^( z{JDjfQVHolKGFn|&$SL{NExTpi)kNH^= zAYvmPU&KSb()f`lAT~j)QOIl6*Zm}Z*NNP~>5cxV>ESn8qU{ zcbAtGQkfxZONE}=ijoknm7oW)q4&(lONdmRK74)z#IfuT)gFku=M$uSR2MO*;zz=E z*ftP2cX4GdJ-Wy39mS5gF-#><#glS7`~0`efL&HxWE&j9WoIv~8$`}pGeV&C9zX46 zas%Su5NOu%2<3u%VmR)!t$Ni@>luk6CC{6?!x`fgIZ~@cmoc)kiu7b{$K%^65-~1h zu}3Uwz2S@NHVtB?Uo0OOAM{{ZQqk@88cssr4; zK0~qS6nv}q=D?dTDG*~GF7@(SIfLuXw+;Sv=}gBtZd@+f8VL+OG3KRY0TSIwzo$iw zd|dR%VN;#y zaHvL2f$P+R;htHKAd$PG{THs(@xV^Ga)>pn{wM7=oD8wY@B(|7fz3#PDf7;81EzX6#oECv#_v8wI8Y~O|wR= z5HeS_Y6-8lYc(0CkeCT=?{P6>5swiTPa)Nq`EKHUPU2gQR#uACFkuoYGBtl>d*+K- z7~+T+#h&*k7Z?vfxYuoTtr;YW2ZjxiE#d}CiCVM)h}@rHoa8i;&6bJy{{RcLxWYFk zC#z_hhOrcl=6F^wQe`?$j=yLYqNC653Hv=in>YA181N7<9qad#{Y{!dJkzphZ_D|S z`k0^Q6xNLY0HdvuQXM)Kw?^z)KqGFOX3MhUFRb&K;(DDnUJPbuz2=@@^27aFO=fTI zr6tLb5J*kbiuj%WL*F{BUbF%+$Cz&Hm`Istm+^lO@R)`zeQ@ID>f$er6~TDP-B_P* zZS!f41B3$0Q>~UM9}m^Y$~U}sYVvmiu+TqRk+nVX#0OqZcWBI?pwzqTZ*krV^=$^4`C1`K|q>hs4m&Gy##6W0D|!QaJvY$NEzoET{7mRhqGB zcEH3TfCz$BP&~tKBd5ZMS8kcqLpV6Wes;szTsoN(asZw$d{3+V&Ms2^CM)H6t}Je+ zg5RI+Vs>g(Lq60LJ6H8&v7R$ww_S!Qhe z8~FV>kVK`i4wtlWGK0N8bQTB5b}@PE{|2Enadt2Zem4$Sp6><{KC>5wXd#2 z(qveIFbcwi`djy?JgeJm&&eL0FV=hCRqT0)=}b?(j>)82X!ZwHxRcjwVMK`*t1O)W zp{Cr0Px&J))5wl2$8*ac=xiFPWS0mP#ooj&FQvI+2|lE)>RidUCS$qHzARpj1Mi>p zk2h%y6}NIC-InH5j$lQ$z@i_G_xm9BuXCEd*6k6C9|k?TJ8chU__7_$rS-d)1`BFh zX|W+l?Be?hi{s+N{?}ac+?a%q6unX=_@7MB=<(qm%p`r<{hgW`raEEcE@ zE61Sr$)67#PY4!VJopYtc$qeeWo70|Xs=Sv!Vg+`n~A!fffWA$lB2Iq=P|Qr>a|B8s1Ha?=6R%@BzNa>tVmbo0Ybj5X+^T&L{N?tQD{;hR&4W!`+cJkA|dwCDF< zU-9{-@m+iga;{d~urdnOp<;LXGYI4LaGrmA(c{$#LyjlY)OCcv;#Kt-DhtE#4zt6JU4#Ur+qEx|wX%XvtoHU9u2K#!Q(><2a@5za$z z>%)JxHXUXucybrh?v~$U(R|rvw>NOy0Z&oV8-hDa69xzUlJA_RhbIUlyK(M%=n`<` zkCFNQH%Pp*>RkEjUb>TuEHOMnpXJkUp-1DJ9c4#HiaqAuXAYt=%4?iOCK`q8nyu!s zpfoj#KZ!ybA&x#LbF~Qka@{sR2NW{i#<;#E=d$M?os^EoB>w=pNOjF7>qfj^P1;>D zb@eS~`$|y$$v!KcH1trHsyvIxM?8n7LwBKmN$5JQ*0pu2-a;*Ozp6A*-Z`L=jM3ME zniH_=(>1wpLJ|Teh=bRs#mJ7TLMA2j7m*FP&?mIu%@wl?W)hmbf+vzP56++P*?eMa z)wywJlZsZ6>wa9;AIfJ*(WVx+`gEdwI__GrWV4V>3;3RKjt%tS@ZbosuyP}oB1T0r zxbn@UHd;lX3pJhH`MCAx9}<}m$b}c#BxPUarfM~@GU0?q(~u^*S3jF>9Yl<{xp1&; zU(a@5m$9~u9gMe{jl4=O3~0=e3Z5#?Cu;bG}W5z7K#*0lYJ~+lw z;ehA;Blzx0Z@l9bj)gy#{D~ZvHg^h6rKve9d3hmIRaz72N85^?P2A^1Jr%{(COo`gLMLJ#UBhB6+dPhEe4KQT~zsDSni+d2;keJ;$ie7?;z6 z3KGsbatbTg!z((dSc&Ibmw%+yobsRu2jm_857n+8kJXk4K>q$#09WK{e+)mJ#}RjK zW^Ff#E)WfOpuEMV{YK#<6UQab1fp5IV#piG^2s4Z8L?IK|OGz)n6WbC2V6>rc2_s7y_?iB2`~>BxH@ z+8#MxNc9c6Ouxc^&HW&vmLcj6Uky9|04e^5Fz3nWwD68eaLaGd-OZeGt3@gX4hoe$ z4SO7nCPfhCX3;`dj&Z&(wT0a1rqW&nQqfIgPUVkd^3H}Du_*bzPpI~I;M5!XKZOgZ z%@AKh?FffCRCMLpaN>#Q-osgz0C4jW^-KNiRAIL~?X6ScWm7!Fb|;|w{{U7_Q`pPk z8Zha-Sn&;r2Q2>p-jDR(U|LbH?$PVQ2$&=+da)bqJJ%3=IM-6Z!0NM!a*Rzw`c?Pa zB+)eb#

    oNbX99QbDYAAXl|>Td2uKzoPV7O+Tj3sK#gG!_xfz_y5)9UO<@Zeot!) zq^6@_Ws)kMOk)jKTAllb{{Vu|CGBX8I-V%~GN;))KP0#~XV=nyuO3qW06Uev8}jBD zTSL5whR=57kMg}0-|)^?wj@SqpXmPpzH{*p43avO*ronnG7-#F+Nn^ zl6-L>_q>kpMK-#P-lcap3uKx`jy5z>T85|Cb{W`>UmhsJBF%2_a>c=xM4gfPMflaF zBG>o!@%$|@`yso5;(dn0Fm)Jw5$f3YIGJ+;^!(Y5o2lCAbF4rtx|2{_Kv*aQ>?(RF z_x}Ka%{EOmvWq)Isd3>VE|Yox05CK^D_h*k^TDY3sv*h91jA}v(u%!#f47uFva@Pr z1VM%){+lQ24TmrS&oHHBt;?(Fmb&DP&TU3il^n4(f-p!c>{xynGHFH(lEgVgf3kP| zn0A!A!TCJfT}QgtQ%`Wl=HZOj41OS}-x)o2+x6#7rl{gG=^cZ(ln!AWL*wrLBuAR1 zk5172AVg!2GC#>31wL6`gdDl8-fA<$ON7@bhmyyqG(23SemTaUyJ)$5rO1{1N-=Ei7iG*X1e5SbXwcV*j);pr@wL9&+DP_>eG_1Va} zVn-fIekuTK-!L^YvPkM3rkgx}DZ#&>oL?{9{{XNIg8u+e(k7lOZEYG`fb8C^j8lo^ zNZob>f!t>24qq1-GUR_Bd*u3!EVR;;aKsM}(dQ_~{ntrkk}u4;`!UbIb#Gd;8P9GTPqG=GNtI3~sET1Ia@$=~X3ro04}1Ebs>o<%ALUke+;uzfDyzWE6M3J@&5ob+$q)|nWPB>le{X` zqL_gqzexu&F@EX;%YXCb`l9#UnTv-JvA7rhe81vD7W2)ldWNSAQ!*@R0{R9vq>31t zD}Sro+b_d}WX588o&Nw^({?^n98x2lo-cdJe9R5ZR{Cv~436ySRv|=d@PbcZ+E23BPhqFFfZRi%&8bS+)+Sc z{p{kT$lU=u*YC}w#}?flYaTK;KUaHj>aQf+`GvV-#gq@-xIW**DwYvmOyQPT=fxAh zU*^brlZmcky|9zgJX}%CJ<*i$C45CiNX&S^##{W{qp0GKJ-^)hlMgM(x7YR%T#r&4 zwifa*=u%V1f20h?)s75ukmfyK>09vSByr9C)ymP>brV~fkG**e;39ZM zj${4Io}*2enmyph;utrSTe=%y-gnesKwYP@cR2B6mKp62RhLkvT(lZ!gV}>#^mG?s34{G{lEw><7f2oma z7S`Hcl?I*X2Zs9f2y1;lCgxL!sP&I;^+)?G*yZgC1Vm8s>Fzzwiynt2OO+@7S=V(7 z%}Y>nN2Zn%{aP>pNc}RdpaDU*9Ky${xgWX8o{UB#-_7VAN7ND>Pt9p0hD46)+frT2 zQrh(iZ=qX!&Bc;)yKr+tF#v{Xt6a}%Wd+@|LRPT7jw_XF?Q1(2*z78JvxD*{Es@)H zuq_d$*)Y?QH3s_4){AcOOTYWJHZy<}bUu@X$bvYibVLcd?=P1>GJL^teXcFKGc0!m z$vAUFcXq2c5NJR@X1S)rrn$;;=Wna_KLjw&QHV2*nBPiJ(X`dH(Y)U@jMo%|!wX1v z3e1QBr3TE^*k;2fF&V%|z2$XXrJGP=Ig`a3_N zd)64^$uA1_@BWwb61#0TN3f0=AVqj4jbn~!8;CK)DZ#hcuXW5hgmJ^u zA;}ibuWdUIN+mS)<@ej7#_-Dxw4n7d`ZBInkC7I@vQ-y;Q=?P~n z6-n+0?bAA3Ik5pkC*U2XY`G&5>h*2q?@RSt2<=*HRGukFKBO%R77E){Psp$1n+R$+ zfHZrYY#JUsa{@!^GKV`INJtHgyw+C+Flc@uLViQ8UJdNiJV0-2?bZOT5^n3iFXmi~ z!Ee&eG-G@J0J`%2xAR>cB7RX5$b3;Zzd{eO=y4JuhD;GRT#qk$dtowa5Hx@Vo;{?9 z_1maF=kJtdhY9j7)3dVpkt6uy(G?_BK|xbWs69v>SLQPd=`T_M%Zyhs^#1_FrPtO; zeQwe6<0AvX$6sPS#$Asg#VhFRb$UqaFqmCRz9HxT08y6OXWIygJzW(G)5wMC|wpu*x#TUUBVPDskNQ)8fc32@U3Faet zngjYV{8}D)7T@>3?$QcEX}6BU!!3k(w&~T^>M{%?kNB&GAMxKNTcE|yO`a4bW&Pd3 zfAZv7)O|ZRh^5+kWxw1wuP=BatJn$EJ6^ zm8ux=$Oznz@jP#6=}htiX1kO>On!!n7$HtF`gDrkFgbDPDh9x1UzhQTkv)01a)buJ zd>Edg=3Ct@=DeEWMyA}Dup@*e_5fF_1^utt&E_2(GJz01KkmQdt{!Z>5hJhMf%0RI zGT+=;EcF+$G(p(0CPGD6)O*&wPG)wO_%<;*`cK&4X#veX5!LUoTUy&{7Mf+f4wLr-@VWkHa>aLU9Wm+VwH< z<^lR6)A`Is{{YLn!;h`Y7+J1Km4_vyaF6CajXGxI7ON209$#sC0$~gyK3=4wP_S8S z7RnX|`U=L}4QL2w2ubPinw;6-nG@nXi^+DTtHyzZIw7sBQq3Z_PE?E_mA3+ndQ@~Y z>zP^eaZb-J=AOvY{{Vwz#yOwB`6kxaMBdw?xZxa*sUST>d-40e&(oOx9pjXbJ-*j7 zSEw+{7=H}o&;7DLSL;o69YWIPSYy4n7YQ;LxzO@fs8R7Q^feiGX3v}@$>uwAO*uqm z#&85AhFwb1d?In`gN4 z_Nira$~|({DD9%;yhM{q{+whE$Ku~M`QT%Vjz7dd*>ZW_)a>XDOfo}!QYK&3k1{^S z3;CgJ*7_gT)C+~Uuy7OvM+dR?- zx=T{iGJ>@*xEoK%YL01Ox&TpNqtfaLXTMQZJB`-5(*z4;9(X;R?ZH6EFgBD%rcK7x2>() zAs{q!nHYZ0z>M`BC~5|4J46`bm%HyQ^mt{)4T2uKVSbkyx9H|H^hDII!vHDVJYz?2BmsAT#oqv9Md~mR>Ps=mom&DQ-UgMYf&Mv1< z7;41&&*YiwTBxzntWp*+8D(@c1?JznsZm|KHF6j*@#U7+Kz*)0c|b-Im31F)>PqyY z>ho$6+)S{@gnEWD0~7KU%#6c`2+;Yu{Z4q8&^vpXpO76U*H0H|5u;?3xZ=DGD?)4A zGc?$xbwTE}d152fv+pKd+gtgHEk1c!(_7J|vwj2MGih^rEm!_vq-~pddRj+Ul?mg4R_Ny?)ZS!a???Y;$ZJ?#__O8R9&rA5ZneCb+PI z%Td(z*^H7wBxupwp|9E;+k&2i(2u7uHZ@v}}Gi4g>)F9XLUh1-hA0OdpQ5J?0N zAD&Oe1PbWm!$CZ9JV%5`59>xzHyJAg3-K{L_T)yxmx%T`Ns%txVG-P&`u_l1`Tqdt zB5fJ1CHnQc(2s^?9as+k0PK3=4;Q9fnsP+qJ}x2ZkJaZELXt;u7@8AUg5ztBD@@z5OQC!yviH=1p)vN}iY-E50 zx*JrF!2bXbe7jGV!<8ORx3#nbSBT0RPrvkizMnQZI&t9~l}mV6l(pEBb_@3m+C#i^ zJf0ssYNIbqAU%G6&_K^IyQd%kZLOD~r$hK=exDZg^LZ}U*KtFL_4MN%-_AcKSEM(m zriUktlR-o5VRF^YW~M*9{{TDv(09F;mh`}md&AY-_BmDG1ucFirzFX>s-i-||<4x4-LzlLw4!zomLfy>R&!a&E>w7cFz z=Bcj@=hde}5>(0sYOV>QkVeD+Gq~*dLxYHJ^7{Tb%Z5U~-!k9HYL7J~#Halp!3@l` zpf4fdqy8H-{?h*di_qsSozJtd63S$MgnjRJw|OAcw8$=G{rX#6O>)(s6R^MsIr=qpIsV6X@lKr*Xlk#M6?nke%y8 zn>|j7@%PGy#h#N%j}}pob9qjSE~yT->w6O~sH9e(0E{x40xCKT(BSbf=8qQEYsubb zlxGdPCwDh-TPCBaI~sG~0vc5Pk@r_A@udTjaWqMwh(;%ZGUZ#KwEqAy*vwiTLd{L9 zRr#wGaNP(SZ$sX>2M0EJAj@lc73~;!J{@ZQ%R{@caUEIuCZa$Pd)tAeV%t`fFFM(hAyDK`P zIyXx}gRIZX_M#*5eUqp@tMm6wzXMzYSwH6et|`#z$MJoiwODxsOhbv|NY8l{hTkq( zFV7MDCBw_3!GBo!Ne^}8m@Q{e*KoLzN{$HqM&t3OUyENUa*6qeN2=0e2kIXpoOyRa zio;h+wU8g&%D@HVyPy@^lb9OqQJy-kqwIC~L#qTAvK7 z%9QV#Jls;jlnz@@{VScsBcBoX#gc0Fh~Ul?GpEHuEB3`dUTO6C4<~h&B2eF$3-qmG z<{)IXl@_TLM-`<7QK?XSsLZ_DP(Tv=cRbYciC`!Bwf_JRUV*3U8mu;TM2hA@y~t`F zy8y#4(`a$HgnyQI$m&e1gmRGo0CLe7^=BHS@Y(%N@l{MWldMx9 zA!;Wco1eTX%@k)=3FPKPY{+%U_~{od>-}C&s+)F@)TmxdAS40~#d`bXH2RYPL%n4i zlgd&ZH!!6yN(g%`TW9o5gapl9P>6Ycm8IVTA^m6pscs7?Oovrq}rRnb- zrlBpok`;;>m^(%au{>pnnu_!%E8h16k0ZO2l-#zfR)=2HH8>>Gb#R-!h@%2aF6zS!|Aud~>HEX{vT(mK2BI7{5SX2q326$s? z3Wtr9nhNy|kcZ|BZX{)oarB?;t#j80M$si@h#S(l*x->Y7C2rsC49R=e_e z%7&-7u3e8_COAmpkm)C-hOQ9xVg|p96u;@(MlQ8I0_rQMi#5DtyMzRWiMBhA$Mxo4 z?)4BcCwB{9ixyc&G!LeJjGjdOGxx`m8_ha*>6@n-Y%dgdsr7_#3ITOM++MVz$Ort4 z8D^7H;YQ|nkED<2`FX{3SSOMv6<7xNhwxAC;g|7K6|nMFs=OxEuAs1pABr$}xC6Cz z75npNleMAC988O_!PrwLi%}sF{Lx4Kl#>S0tRbCD46?J;jPim7NvPs83R=9g9<98d zw*k;;$&_*NAFGOAkGVrq^(}4$Dh)V-%)lz|;Y@J>DBHEi+7i?Yj=?6lH3#;awRRQx zW^5gHq{#9Xr*8wy;aJvy)sI0R?N|L=nJrO)0?z*cq<=U3-iVfwB4tSb0J~5)6a1bh z#FN(yhRs;ARK$+-sBvYS=yQYqPa&iI z8Gbo`MLW2JNW7PHkQR=gd0*l_oY!)D07S)e65c6&O1~!EB=}_c`29I-g^O`9lNlJ6 zH|9GUgL34EV62lyzwX8CevbLE(PaJ}r~Qk?`$?j)<4B$edZ!WoQ@UTGe>Nu!(q1~s zn>xri0k8x5XG@M80-qGs>ZPd2W_}()owU&ei_-q&x28M-xZ1x+%^s>gv+f7v_kE3% z{1!g>NBuoN|IjJd?GB@DV=k75)w`3?zW8az?Nku&?Zj+yfQNz7GWI)Nwuc|0NHN>~xTWi}Q4a9MoqIy)00)&r#B5Ggu*-z^ zhl^ZZLg>+7l7J~5w_19JoA`rT=U*5RFHe6jbH>Pz;^e~hJ14eRw!Va3=?rSTOb~l$^|4yfva<; zN>`}LwVAwW$Bb~8M4IVtc8g8mVv)vpgyc8s2U~gt-n@+q%Nx>D6tII@?BsuLa`^P5 zN{@JZ&dtO#%pRP4U+H2{`Uzuj(`>=wuS@MjOPVgMs@jc>!M&u|Gx;9taQVJs)7{{7mL@8%NXr zo2TiM7W(6+zZLw3fg>l8*nCHgPuw#!KpX}msdF`=wL(LbVo%0W;a}!Ek)>-kdb)3A zbyS#+g(O;o^aEe^IXxLUbms~Bqw0&x_LMvgNX^n-nR}a(N-Va^#iNQtBuuB_;~@s0 zF28;l4Y>QoAL~19HZdEAPp&`Imp}GMk!bU2cZ(V{jG-u_sY5JdW9~N2mlThHWy;6t zAF1=rb}^4pzzv9>jC%0@0J2D~JgBxe!8PlVYp3kZAZ2It*j0C0ijmlI%tMwlkRVph zL?1?KGZtuxJ(SgBABMQ)(o=@>N%Q3TRq$CJGPcOaE zYqXIt^pAQLuOj|M?}_v-V~(~c_)W6L*_`uDGY zd(PI{CVndyCjhVlq|hGuZkty*l6i>PZPe-EQ6J7Up{d;k)1K9teOL7*ZN44N1%7*G zuO>k#!XusWNyvr+857fzL>fz*U=Ri4-=$m*mGL9-8C=B|bAv8JR0qzLB(sWpNYvj( zoDEnSpNRO=For@TeI@CRo;fhYc!D+0ne}_nQP@gJ2>g@zma0DUN@e~lgZVCmf)h(f z;Dtx8JIK_hqJ@}!``0n2DNB%c+FTekjr3d0hRU$i^V}bzhB2znQ=Wa2{D2jt}4OefFCom=hu!MB+AKj9D z{{XF4<_gVeaBg|1k!wYLszCj!WUxvgk#4`VGGh@RyCdTjZ8jkq-MSN46v4k;fj`G8 z)c*ho^S757K_-Q4Q>`L+uJv0;{aVQup$hQ;nga>jZbWcU5nSc45Ou3m?V$B+m5jFxtanVEV1RvlL>_Ffr5~z>vbZR+4aps;}Pj zI=wDhvt#}+wHU;K9R2Mk!da>Ln)WM3Uoq&B>sBt*H202o<@@_d50`G98+UKtY4^ORw^sg8TnCJf-)H@7t2Bgt zSvEh;kEJmrv5z%q_ZHSR@=aqr(!dCXp$$0-4?=e)GvaDL%gXe5qbVK0d^I5u?6wq(MK^#c&u4}d0+%g0m!4XVdm18vGg^y_CL{ zoNz!^g`)-L9DFHLUwqEe_|l&8;y+`VkF_#_0F^w`ThpiW95!=#V@jQF;&z7eOO#~h zyhj;TTdjI-Ms+%D!%So|%uyE}ANMPVS*Xc52_9d?FZZZc@?No`%LD2u{*f{lUT2X2 z8g!rle6nB4ShHUN*gZ~<7mppR)mi;WZA(dnMJ2`js$>B1soXIe0pXTn&np5U==9oh zCb@I>r&bMF9gvU61Q4lAq3Y)b&$PK{#t&KtU zAoR*5E)(f@II#?v{{VbBkEi&({zg4MU0DvFKh`2>AMLFjO8EZ(ll1=p45ujNF84P{ zkb^8|oPAOLuaeuCRBuX0FNZ+gO+I}_RRhqwJwz@daZ0aZc_F9)riZcIFz8hK5tibY z45`;^F?g7)Zbwds`Ox=Cg-xc#r%NR8AM{zlFfVWqRr(Iu)#-H{ajA0;fcEEP$4iro z9r$zgN6WrG_)F4^w4BRnBxI6IsMYKMCx5(VE~{*pw|8?4P~or=yQ@c88c>u3)uZkY?SCAyGaR0;v-JSL1I|Bj zNwnL6V|6~AD-t7c;x^oRQxZ83W6=BN((DQM{o&~I>HJ)F^N-A*EDb(Kni#95Tn;W1 zW{$lG_OIQYKWA!;rMdMD$Ml{9U8NBmwm)OZrk?jmb%~fuYs3a--3>PQf$3cAF&JeW zw{)_Bfv|S!5xPwAh}-Hz(h-?%OckgsM-jyMROTk98RFl2sJl!O;Kv>vwvqixwiC?y ze2+44;^r_ZP0r^r^2Q=!p7YtUDPf*T3hDaUXOo`P!0T}}06gYj+hPa8iC(#=?Fi1r z56626V>xFjo?oDTw9n3(=(W=#)8agCZdg0UKVfM|lkWJAQQ5jvEQUvr{7KbzmSQo8 z4szfAC5ULnbloh;a(zKUV~q7lvM= z$0+28JdKg=biKQ&jPz5UGB~1P8UFxB>6HHf-tXqJSAADP5G!-y7FAQdJBocf9IgOj z&3^{m_+zfn10SdXFVpw>O3fB`dvR|hY_mc@Xxw~8Gq5zw%}fq5LFFyoFJkIOd@(2L z!c1l7id!G_zkFFmv~$Dtbq>PX;r^+65EMLE@>5gObN>Jho0A*t*v>obM7}2e!}q*L zXyq~OtoU+m^vWCE@Wgz$q5MD2M`~I`x_z@xpxFAC5Jv9E^_ks}e(V+?oy|y4DV**+ z+;Rd(xvRIdS!CQ2~5T()CVV1C|2!ho}1~n*HFLiuH}Xk zO^?FWV1A0_!c&P6<&xQ-8ZP5bd`w&$Uo_{) z_Ht{N7kXMNdeT7CMnR_uprHnbuOaaJb;)PgT6DQ(32oIbxv-Kuf=DS+d2(IB2XGg! z{1r00r*DkTM(GrmvoeQ7sxMh&HK)t4`UlgM+;4X@W5|AxvF=5)agXucM3xy_9{mjW;Bc)-Z*M_fFS$tWcyEw*U?71khH|piK+TcDVof)mHI>3 z=ycHF2Q1C^57M8*WfWm(=$wUBP!2?W8|J=QWL~!pgA_pJXX1^GLO3qG{{Z7Dr{THG zbGULPrH3lt%@BGL;Kn~?B0wwt$<9~9_&=$|o}OJl*oyxEWh5q}VJxx6P?Cz_m>F4y z+w@QeX*0&iQyQ? z8*)E#{{Smo#+tpW8HH!m&?1A^g}Ees&0MEl5^&3ISpNXue#M-lT>Acpr)n;bX2zg| z{o9ZBNYwkAINTtK{yg06Jnl32F`Z60BD{*>%W=Pj70Q;OaHb-5_T!t~F*3&}58*%Y z>igQYTs%Tw&mZx|D`n>G9tK58{aDZtRhHzp$a6d9+b)A7hU5Lq$wyp2gjd9($DQ;m zo3)jt5ls`RM0i>@B?uyfI|6p^nOHkBgaQp0U7J%YHY`29%KJ{ZywhgneP67^tFtjC`h1fovlAF%${4m*%QXYl+s(piuJndFpztImt~Epwa5JwW$6h(e=it5lfk zx0gw9IIW>og!W*(f!u!_x={yD9lwdgk*ufOhVxaO-OP~7`Z+IR=1iPrYk5Z`Q}D8F z*Duk`m{%2jty9?S#jbrDa5&uRx>UgIBoA{M{{YWOxf*}0GU-ZpxdbBOd4#%YH3o4y zwa%)lYHoC?VOh|BmkSkVAL^}giRq(|5O_!Rhu|+RN|qm(x@E26>6fh0PRHR(xL!7W ztFS66Y1fJ6oc^bwYmTaU-$+oPYMWro_%RJ41oE*R!4yw=>x@gc9ebO*+t>kj#^ z(~Owx<%p2~0A>DY{{Vabm$}HhAu$OFO*`LvazLu(Z+=4_)@dpA@rHqbeWK z0g!~f>3*;Io1|%Rg@-|eO(38E)v42e3~+WvOuX_McDhc_o>O(R61x1_ySGv;>}~9! zJ1mY1xcO88U!HBT_7r4&M9959Ed}jhmzwKdYS*=!sV2Ocq;@|Hri)S9fKYwII()Zl%`|F!XbO3X6JX|9 zGLyJYJJ9!~b7KP;Ui$}2i&%9~G64FeL;7D2$GNL(NbKz!P`z=@sIiZnKD)A-$P>-V#3h)D-lVT3(Ihu6484I}%|3f( zJnA4t=rr6}OtPN-5;|OY{L`H_Pu{3naW&$9$~{#39LJNk#Ty`woBp`|q~Vce1{O3) z1yQ^Y_8;Sv9`|jEK;ARR@=IPOsU&Z>asE>5MoLn!3q~Ad8AG{@YL;eBcAsQVSG8`- zI`vkg{;TJmwb|x(hnI=!#DANfJmLLZfh@AOD;b3B#gsp>sU&7bY@AZJ zQQ5ja3_~AXxW0S8|I$^g(&A|4hEr{OZv2BGqPZK;9^<_Zcn{`CiHY?@_r0tIO30(+ zi`4whscAZd7gD^5r#TZ`N`O2G7TmchsRXg&DNLgVj}ClfZO6;{McB_Thc8q_he>jf zMC+RFpJ}Nw&v6P`PamxdP^;8#;*_Bj-){`U(`j-~6@W~EqV06h9w30bp59(bHnncI z_SX95mgy#;U6iN%Jx-4=hE6<|B6gSaqapPE zI;whFZ<};kmNc!*OTv40HDR@Wow^?5GD*pXLeDRx_qZLQrItAuOK^Jk`M!JeR)r>+ zc|EY%KGb}`Je2M7u6J4;P{|P|Kzk~|mlG1VvYloy!TYk|V;oPzO4p$2o0FIUWq|DI zOo#!@2>!NDs9UY3m21c1TDKy5li%s4YBA4`A-B@-;Etb2Ar!XK`r^uRU~r5Py;q|qj8nI_p6=rUvo~M7EGU&i#i^);cW;2&lY20yr zV&*Gx7~no4PiN>q;8!uFJ_r+h-L{hm%cvV|9sdB%{uGPMQJab2w+ajhDpaviQfNAL z+bz+^MkZZLm)kHoatQwb41ME&hcv?a%w5>rY3_%W5Jf>+7LL1oj``Pi0fwsy#XZb8 zr62RZYvmr z+vms(&2$1k89L#FnVaQFD%#1XYN8nAj(fQjU0P0ePD~3j72dV%GcSxz7IqHD!{C)N zKg+O#&bFG6G=+qsW_AFq#d{69*QbU<2O5HADG$;S=^0Y#xdw!wPjz~Nyq%w zHwVWn!yzF>+2fp`c6r+B3>cRstJ#jjjL_XZ77 z7cLMHs?yuh#Jpsu+DfnMIZbhNb{;ISfJ~_QBCOw0-Q%0#L&{q3vF=Y(kep%2gyPm` zjSzN|Kl1jU9;0INUD}qDjZX^l&AyjdGQ)#lN6)$CGQxQYl#Ge5 zpk+A3bNmOU-L!@Y?jtABx{?yFB*JhD0{-G}~)^vMIEoSOC5`~<}KxTzSo z9C7cHtj0-{kMvoWnf&8<<>j%I+l#fG0!)#&ryyv6Qo&BgeAMWmBxEj`W{C!p*uOJ; zsdWcET2#}%KTM593{mo-H1!1l*n4KqT1>ZGCSGyf#mVU^@;--mZyo)ml=qr@^uN;P zi&BJls78K&@+`5;Oqk`5d*%Ex^stP#LwuO>{qW#l(j39ri*;KDFifjISFttY?#j3}s4prvCt|=bFrNhC}wSq$iR~5dI|wTJ7+_KMJW1-+_A;mQNT{Z{{W&tAMTiq{C7}TOuS3a2s1-6 z{0k&q7*HC9L-v%P!kM(gjDK#?czaqjLjU+v!PNXHj!8 zm3}D|R8bTIQLsJwW*$8;oa80+!(kuN(V@uz0i6g+_`9NNH?GBe9Vkubrc4|KiC4Deq4AD3E?J&-&Y9!asHR{V#Otn=Umh{ z5$Qu0!RgcCjz0hgbCanO^w{$0^w?|>BO(5sFq#NsfnbV)G&HYr0H){l=C>q)B!|81 z{CQ&-!bf2rU;HwDs{a5tX#5ajQxt*_2uhAbc0IoAhYgE!rI&(S1D94!6E)SiWucsW zKz1&@N6Cg`4UYVaxR5f4BkGUi?OP~DkJnLEYIE@n2FK|eAAE=g%uAb+ap8_={{Roy z`hH0crEDeSi@Q)u3Gijij1#T?1=9AWlw>9&p4lPqidM>u@l2whT5zvU%%GP124_dR zx#lyG5GNjaC12-L|I>=vr1}n%ZEn&RyqJ|Su`B`V!~@uPf3eRR&5k*89jFJe$C_u6 zOrrB-6X_Qy>+72l%2?O;jps!O31KweFGJ0F^OaYh>i*QOQgrg?_}0~X0VG<4`#;3X;ajMwK!D$ zqzA&i17;Z0NJrJ`1Mz07G`8k0h3X|`_9sL|v% zF1|RWf(Ar>@<)OL^ryOvDr^!uauBIy1GzvH52WV16uo!e^_f71Fgiqi->rwpvZNPM zFri*5=iSdwr#DceD2JccWjOTtCD&;G0H#c=)ooxm4gKtg;0Nhp{cuX-1-})~;*7Y=7(IA>h9pwnI zfyES54bObvV8Q6B9G*k8yF`q}c1_Ft(Yq+~9<3jj^(!Q0^-aw})yjZUIM;A1UcK@? zfu4A!ERh_Ad-#cUp4noCsAI)5K%Oi9Y1?#ES9Z4(ERmifU7j}kK%XDGI@oG)OI30D za*fCIpE1^UW~WW3tb=?<(=qhQK1$a5ioNy360)tlZV}{TP7*fDPn|$HyX>6972wH4 zMqEDbFQ!h1wlK>rXU0v+JVw8Zhw6vvO)b@=nA+Va`nYJw{%XX-m(xtm?M*DDf>4ju z6C9BKwm;$j06IH5p3T)q$BgCl%JI+onFrPWY`03TwFs_0w{I-T6g-S&2<02aKOj9? zY|0LK!Ji&eDy_+VrzV&~4n7lclwv>5j>#pfJVr*ge@1w&nO@yZRbxO=cy=qc{@yt* zIv3>X@(EW6+jRQr8LTe(+mvo91aX5`_*B(LVoyxwyg}nYgZSNqF_9o7IiYoHXk*jB zzJ$M|hSp~*`@r+iQ{mrcDm*hQPcuBW4>QH^isr}sHOrgNHA@Js?BTJqibJc}Tmx*R za&`pJqkN4i?VTW(sFTRFN~Mm!ia&CEJiQL7dM_>I{T+PqmwPn@NV$xFc#-yax7zwY zn<iS&PjM6m)dY-lZ+{=W-#fKtfR$fKQw%B z#4Zvzxey07b~QXl;4>J=@Y#0w;f`7SI1{(3$^IYEjMMF;)HOKmy)hz^KpqtPMEt9k z2yo-#w?*1|+s(jZV*daikLa>3Ge@#%Z}h}bRf(E8LF+swwI1EGTd2z@h|Kr1(&{nJ z@xbrT2^Cq2mnq&}L zN6DHdnrabHvF#fB*N%2tOwjQzPZQfQC+Y7^u77gc9nyR3&gdOzte$NNArFasL1eqGk4RFyA}* zT6ff~ZY^#WEhxfK=cqMUjZgvHlyw#V04F*g&eeKIBh`Grt@}fz)oG+mNZ1kgA+$d( zTx&Nb+fD{6XoYTdNyS`7HsxOa!!zv6`i-9N;dTBTL8!gUOZv8-<-1E=Jqy`eMq#p! zQVY!LRF`Ai)oOn1!O0)qAA5Ev_cEC;(%RxXxzEH}HTkmwpbwT+17Z9`e32iTx`nEJ zN;|zdH3+8VL~vDx91_=Q#fWm=Tu@p3kG|KU=en;<)`QV^4vuAC?IqT zf0w_$ad|s4K0K8n;Y+?BNBPnHPGoXMLv7SGA1m427rxRNqrU*Lw~*18`yPxAb{&(i z$)}urO|R;%POr3dkLwt4|PHa?)?;?62&0r6CpiRtt#1GlOG&o05|?9^>!MKO~mECe@~StPj@UXEn<*K ze8!rM`09w_zLZC{)CBlu!%x{U;^8TA8)qNXXBTuye zneJqH)*-zXfRf)nS);@L6{<1BDiDti{{U7*e1&Z8Gh{k^CV7p{a^gSdM~n3CmK$q( zXkUW_XZYlkr3E+qGM!E{8;@R3McDeIEV0QU#Rx}=rT)Nwr?0h-Y8U>Th1qy9+9*jC zSo}>p=Au~cRnhg091{%&Q#ZkM|b>j1OYlsr&x`<7|O9 z8|oamgNrSH1ooHX`bky%9*L+MNAV#403rI1qxfNjui}jG5PM7QvkzT_YVe7Vt{Z3U}M&e+Lcq=y4DFFs)4XSK+O2c zF^?2oh@3SBss5R?!gw+Qf0|xvRy=GHi2ndo zkJ;);wS7xgwsKyA$=}}KnzW)G(e6wq(!?yna0Mzq6p{p0SA?T0$>3_Xv+8p0g z@|5>%zrFgi%y;c9jH|cMGn&>96ILVA!1)05y_Nf&5htA!^CjhPYaI8{%4tq&URO2Z zLkcR6nbnMhM7)-#207&f^6M+*>ruB@sCc8eVg6jK2h&9v4#~&CjQO9q ze%D#;B>3|P_ecHF{fc@PsdsjL1M%LX9xc?j5ncZP%I}xwhlMUNu(uBmXlgXx4qb@) zW&ZX^sWlk|zYEpm^OF_A$F&@-0I#v{n;2_}%{k9;C|2L>eomh^V!+|TF?u*;IPZFw zTmG{qkIX+=(v_tqEkZv{MGbi}5%E{XgW}E3r?(@UMnOC|V^#ex=@0kLx3ayE%ZId~ zAO!GBj86Xm$;yb}pY(lE;qORbmP>~y5b=!)%6ij;rKrQ+w9YzHBh-1mfN(^>;vSJL z;r$Ge=MRfC)@&`TtW#5Dtj}i>#cl@>11|DExIHsprkt`95zC0&zuv{wY9SnO5|FY$ zsP}ovOGv$oPPji^5>53eVxCE4s7Ib)78FuW`|tE-HnR!IDuoUs!|;#QCmRenGK`bl zL|^>bk{xA_)x-U0{ZaWO61mltFXNC}>sA#c z*J7h)2EBIaUzS}7il+v63}iZj#bqg}!Rnyo@v#yq*?{?WBOEd~rNVh0PUj>z#}FHU zqaL1ZkTf5>Qq^VgHLq^N!@gOT$+vf)BOC;K&HkTPyY(h9-!!g~){f`mW7!7(0FG;X zDtn0Q0sj(aCT{OpM3?8-S;8!zj9VIr=}%kE`xvdVR*5 zVW+*%s?lD}Rc8Z`QNJPwwSVA_MyE0W5O%rr#K4<8}3ybWuVOhT;d(H_b*^46}`msp|3m z`X&RMPvho`f-?=Q`qlJH9mApY+MxV209U`xxm=Fp98bN3YD8j(Q(y5?VA{+wEHTR* z#w&*X;fVBgVt9_!AROql^Bjn<@!hwQ^T=cRVt8p1q+Z`cYTHR^6ho~=N(mLI?7*-4 zEW;qeCST4c^?lp8vk{J_ILA1M{lup}Xt%q*@?5%Arx9^`87b;?`$4Jn<{pkvhOfkz zDAT;{3 z$AcCs{vH1S($eXCxp{x(^QPYfH`+YR*2S2Fk_7lwm@f1&usnQIj%CMH4;W4cqmWd; zqc7t7e)pH~rIQzj{7^oh=>)#c`WX^E4^L)IIXKCv-!S6Rw&#L{*a6sf8PsDj#sH@T z=}3vLoY~)&$ko>0P~pPL$jJqyKr!=; z(Y_6NjG|9<2T`fg@#(mTseNbqzrz&BdH(>)SJzTOtLWy!?&-+=HDMYjs8k*$)B<-3 zesszBI*b^>#(1OrP&<5!#L77MyU|}z^Y)(c>%W)!>=%|VM^kA?<#E=GvX+hg*KDKt zQ%RHeT8w5A^WXkF7)~?0jaQS?e4qKHsB1{tez$A-Bh6NT39Y6^ir(U*`^foypKY)*7H;CA$Ix2aj;zlSUi( z(5d5|iR}4@<%fkY536=ad384-lSK*@yhVtP$7$G58`(D40Pj?5)k* z``g1q3}3Y@-?B*X9f$iYUnVg0Gs;WYMQmx#o4{MZbnA< z*Rb{;*?jcT;GpE`dv7StB`#Y;59Y&=izu~_G-}Fsi+Xs*dXM%wq00(1dcL`#)QMvg z2k8F*Wsk4=MA2jr$exq@BncorihnQBn4C5&`-{0bK*$7nR}?#?AL5V0{mEo(;#d)f z#2cVHeXq2?e@w@S-QMJpj0W3}#D35AN)xD>C3Cwk#a|UBj6VJHBvW2If^xsd3P*nr zry{ZG8nXQRkH0c89wAPjUk?U+U(K=lpa0c5*R>SVHDqgmKStd{A-S&MM0@i30U7gd zlL^m`qxD4W`Zl6M6(h*(@&5oe>5+MBT(>~g(RDx!GA`gXNgP|mR-sQ-*c|P&8NW4z z{{TK5!vU69GDOFbKwezKG9``S{q?^t7a(lWH5qpK?lQ%7$zqknat_o#i@*se9PPFC0auf)Iu*gL(G;VZ`Yj>H0U9YC!bXfMG|sm zX5&B*ZB`*g0AJ&l;gN`^U#-(dax*7>m#iEy~?g1#UIo7 zu*0q9FA;Bl&6d;2`T!)G!xO-m2*JIQ~*E7@I_xgFFwAmKcV>A(&Zsk@E2>5sr z#EN$`@BJ`L@d_q@b2U+fCTp4XU-M7;r}?buG>NtAI~xR*Vfw|ejV>jr4DrZnD77Z5 zn#gM-r{cZ9JXAcx%3_b^NQLkG@8@pDzcTL)wa%XnsPv$XmT4mZ0nQ{Ufsgqh6ZGbH zW`QY4^F2RHM!SfbGyp&DRs5Od$uG=$-R&c^wNwJ$ROD_FWf7?!3K-XMzGL==ykkBb zcPFp&e4O1UXYr0H8Uy{6rkYN@b)nt<^Wu%RDPAnViclWi0sjDFl?ju$b7!Q5aQv+@ z^DmigbqMXQmIh}|3w0E#tqUOBkZVy-5!)?>UO!E4$4{flr^&||S8Qhzm5Ye zvciTKUZo97jxE{g*XA;CndClB_xC!0264la{Z<3hFZg6Se_kmtiQtr6BGjFv19f!q z2fk(TaSjvxj=Lt4CZ1!9{MmmD{{X8dy>+*lc^cbFIY%dM1E@X*yH_&t&x$oJVV!9C(&D#X(4r40Qj4@<^0(knCX^_R&GNAcj zm*crYd*{)j)8k1wOB9JIi@>W?lkRD@9uF4#sKu)mSdwHqv#2d0xz-#dC4%XN>`FHQ zWB{`@J?g46MUx@$`?xkf_c}QaDH9%fKiJ2rC(Lz{5{jX$ZO)u&8C$3&jR4NJFc`r-Y2+{&WzXvBY^jUZPd7`iSvFd6$>%ncky>e*k3HS7l-K z00ml#z-&sN_ReDI$4@(OAO{B!`h&|n%$IgUa90$>3LaL8oX`kB~5ptozKs%M#m8?afc10x{i_hS5Wf3m#ic) zBS}1sR$`okI|JL5DO}6o1l^iMM&J%%nZtIX!&cXTr>w>sZr{3x;9tCrzt+mN7_3{i z#mq(F{{Wa8gqF9nMGEt2&(%s(06KVP?%6dUHH-M-z8n z-IS>J3Q5YLhsDSv(%f#;&Ee@JW&B+{zh~5xX!eV$Y0YNbntx2mZo_vk4(-GIpi`3n z0B&wF4ibCMPOsr1`_lK2X)g&YyN?wwd@&iakV-_4wmEI3scPSPqUd z?ERU8RRBzP9KW3(biW?wNHr42E^lqqeD`gx+Qm6&ZLeY?nsw>*tz;)-=*_dl$N3xR zSI$~~&+ugQo*Vus?Jx7;^w0XvN9RWgJp8{==$>3^S_ZRc`a4tgEEj)I*F251otha3 zL_KKKsPM^Y@oKbLOt6jr0EmAMPkeb_^q6HBGRCHMJinszFEgg4WpdhU-$#FGZfYgB z{pt}<*&?TY;<@SFldKsr_?!nEkMp*8e$c=%HR^x}f2dJMl7YCJJxJQA)sozq*X?d>6wcWySyDI}k?6cEe==FH$Px_~#{UfewwKzx3?)w+C zqyHM|#O^7?1x-7kyX;>;*Q8=CQOf4|52 zDUfLwgHf<`rw3n&M{q`9X2;=9o})#o{O+8~kss`O$L->Y{<33g;#dgk>G3f97=1s( zD9kuy-ZENgRKrJXN5s>U9(7;mKmXP=^9G$Jv7kGU zB)+ha+szwvbTvl@-0&1R^LCRk!=JcI)%ru}d1J+l1Lhuk^?O^5Jb7zdVRc$0*On$MsjPKhFM>ScH5r1Moe}Q(V*Tw8GZ6tNZI+qnPXrXQ2oA zPwfxcJO2PSZnU{!o{Ud7KTWBgl6+uYb05wLWu)tI5Uo^p4k*fc5J$1gvOvVqdkq${ zFqp}V+$2BP{{Y7&vrn+WO#cpu$wIe(kc3m|Z0 zx@02eQCC8K$_=PKd2Dx~&^O`KkrR~tQ@`^e{M9=UqEf@`%lp^y6`)_DfaJ1r_iW~A zXX~N-Ly!8WY98uV)VB)XL;zK#dYXU14r=sP0T3V{iUv72;VnbtH}@uWU(t=-fC9H zky^4O#%3P~*m6GK(%GZs3LKY!fpKb1c*n};Ac{{V(xv-%&-W!_wwX{R*dVn{9> z7s5VD2mp8MnvFpEz~18QF+^j_829ocyS+32019cE#odkd-={%fko-DF@{{WhQ-zBEb#PRhM_8E~044WQq@)|ta97m7W4zcI59^wmaPR2;B97oLjEH_nPcLa3+^f`7s zlEpA&8g*Jc8to~D0waG<^IjQ1Ra z!plLIOgLp4l%?sfRAuo`E+mR*YOEE|Rb^VxFxXeP-^XmH97K(~9d>Epg<5+()RSm- z+MV=fX17{D9sV>NPu{!cqro`y7!FcQH9j@~Pd=$Oixk@atLe)p2n}bxpR`cMH*NZS zKMLkns$&K_9Qj0lNy*VcJbNNf-aGTE=g9ev0E{W-~MF!1E? zfwQ+C_5T2g-e~9J$HXG8_T&Qg_Wt42_`nn`?tI55bqm0{BtCLkD zB)z09f-`_P_w&>K6I&~>CYw1nxoYmz_xbh z_G7n*)SsIX_%2zOFCaQLLlqlGYFd@NmJOxb5SHks1Z}n})&7Rx{f=fs46Wqp1fLS$AESdKN^31cQR^neC#^f&}1!gt~QE`Du67!7T?VhL))L$JlF^U;SeKJ6Kw#**Lf#%^|COG@#9oWoi8eXRE<` zSFa~H#6Fl0_C*)u?Ltd^Lf+O}f2rNu+$@w@6`H1@fc=t49DzA*r%n$P!>G{f3^*Wp zNdAQ%FzEIgKbZ9!YjmcYG^XO#06{AZr_@zry*M!|Pvz~G=_YbO5$Pj$ zB#recZ;X~;#~Lsk#?dW0{jHnv&5z}b_9K&{mZmtzJDcSEFdeJFnHCLw}y!1JjiW1};S&*#`ksODW+nytEt4bf2^~{X17~?~EpO9<9 zMcMj)*&?p4qOyPq7t*&CC>NtsulbzF)9FSCSx#*7)Xt*8wXI@JLr-=;3M8X~53@-U zwEMc63Vq$g`QU0ocGgGP_rzcI!s;wA?<4}GDUlQNb zsmv!eYcpF)kjB-N5@mkp#Qy+HuOvi;Iod3;hEPInZto~qVlmFhAPCH<)TGbgDTt!Pkk1b9_zk;NN~WO_7fb8zL)ho(sJ$KmSR-wr4L z*OS=H(p>A-iSazP{{UW!pR{8sA*ak7`Hv)MW0#)^eK#Skyx2dPEFzZPOX%V+Z6FOi zE4ku7X=(dQ?VHUOVk9ASdVZ!^U^o!=c6R<}iX8(`nO5>d<)rFHg=7jT#k@^AkJ=e@ z=PfjjSOY-%;oauTiZaFUdFAhxue4jcy$<~h8kMw+_KMveC*OjT)K2Jq;6cUwZA9@Kk)>`%9EY zA`_w}IHmnh=X_M8o=NURAaN{yD)v#eK7p4+2*8$|MkyUcVm_1p=9;lnHm7^(iuw@5 z><46TgntZ%U9raclFvz)etuEu!}$9hsK^yshoGen!|%vpjhAPx$RiR@K&z+NM{zZ@ zL*Z+(BVb1w1F+wr`Q_Pi*FWKS?##|cJkq|FudaDYMT&cgE#9_F&nW=>ETg#_5tG5G zqj5V)$~d(8ykn2*`iGkv)il{`?}Tp{jatqb*NLrF<6nr=p(eSNizt*V9;AJ)25EsE z`_o@1=@*)wo2X4_s=|FsNYg=T?q!_J-2vEoLos!kkm2A zqPUmLx|%%^KD%-mnxTKaYLVRMO@t2yC;B7qbV6oXE6ra-)4xdSF+pwdvc_bVXCDF} za7m}p-zS?W#S1N(eKfV1xO!ES-4;^?rOn;UsET9KID|%T?;e7M&xt*|4wN&a%Zk{G` z$3Ai1AI^^#LH%TOx_eqdKpI{t&4AgXaG;uj+ijb=IEE&yfffs|;EsvKAJ z_iykwkazp@WOVl}p4UyT{H%8J=$PBx z!+8jXRSX?!%6Am;-?m|8!g0#O>0O!HShcwPIZ^KiyZ$Hrm-Ce!Jv8Fq90#Y0j|`+6 zK5p7j;Ef+tKis7Enq9@bsdcBCB2>$6IyimL$mVuD@sQ!4&E<8SmzNC2T{kG-9zXR? zEzkMLqU<6PJaveQ&V&QSsnv(^849CUzeg*?6UHQCaX(()M8BmU_uUY$YwMp{!fF%M zN#E#hhveCpk2em|d3|?eeqi{RrNtlSANR8T1s|g8FKINIMa*Sjm3K}xR*-f04~W{U zlg$AjCOSOiqbNwmK*#z#izaOv*GI7$1SiteHC9`lQP2`n-8V=9rrRCs{MoOLPZ~!t z`f>Vk{{TvV&vuwJvYex(iS=alWk1Zv+{|N|ZFWfX3dw*A%;E}?&0@Ei|bmXx}LKwqOuJtB`8IHB6<`224-Nz99YLbCzI7?88T4h zmfX!9#=Q-#c}HauEjx2GB=}~=FfhbVQqiK}o^ASmw4%j=q>+FTuI?nBLEVrsRQ|bU zbHDXPJr81H;RMT`NlIVl$7r)HO6@IfFNz=Ds4^%WYr|~QVUG}vy*UOr47-7BYI6Ga z-&B!KtER$-QnFu!N|FFvsP;WP4%sgNQR4b$eG=~OeDhf@9vF||AKIDEJSHf$jXk;B zNTkqzFLfit9L0=CJQL;|N#o%j^yWret3OblQOX2jhNRSdCvN?+?K~xn@A&d)oJ`FQ zVHt6#9WD(&OB>xH7m-CuhUlS>j^Ud#7xR@ng@U5tXg%qkmRTX4pu=I03Iag0`KRnH|9_@p~;?VTowOh`lxpD*oS3Q#!=sz;={`;ot+t_8%C zNaEfWT6$<|=b_!cjM<$5GA2i3(dN%;2tWu6Bdc1js2biIpsR5rAF78mufy^DM10Oe z1Tf*8p#i_u`WfnFs@1|da?4%VGd!;8Znj%C&4JV$f|{oILfA+Vrm_jO=ds5+3pwe9;kJQ%?@ zEz5o=S*db8-=&C8uH4KROomu0IU^s4dzx+ZQkkEdY9nxVF76s=j$0JIa|D)`9+f~G zWZ~|f9@(gtAVD$dd{K5Haug--O4d@z40Zb;l21S=Dt`>;^Bvrd4Y-Q7bqpkvU~Isy1DeA%eQ#fDYVrT0nnjY*+tPnTx4 z)$DIA#I)2bCYBqUW*-u?EKvRQugfmh;+7c+e++;i`_~4rNbr=Z<3Y8LlG&DqBPXa4 z2_B56_M<y3A_@#j0Dx+u`B%+%`nAhwm$x5TpH+-Nrb+~6U}zkH zS|7tSTKyz3N5p`x9ro^LfPotBW!i_7w5vm7s9pt<<502?+#~#GKCMIrYp@1~=bCLc zs#&<>d?GTqpX+bCJn}R2_bX`nPK%`JxN@Kmp z^}m_kg}GTRZdNGI`=~E5`$;m_q3QOil^QX>Kld*8Q-I;A#O*)QfY&rTjaN-nwQe`| z^m|@JgmwUY40{u}Q{(XF!$q5hd-5sMZC>Y;>#E;gxtS2bs3eSLw_sI`4SH9o@11s^ zcmQ`4;pTwHlDQuyIF}UU3emtlEA7-~U>ms;meplD(w^mnv#QmWHI5*vdcNK3T*1_U zNDp7^{G}0>AeEXCkNMt@)AllmoYT@9nuygGcCSynG{+GmiS*Cq2;-2%PxO9V&-H&F zN+r{ax2y2UQUy8>o?|;(x$n1hzlZ$g32mE^kz3P~pgmONqm!pa$)oidk4%sHStXO( zMGFSv*3Z?wAF@e5$a6L`G9385?=zcCj|}gG;y>+wLH_`fXOey8$WbNzEqH?F8!w8| z9y`6q?1CGh9d^uo)<*y}e^>Qa!5L#@3C2H8-G7@>>-^-}DI}P_r*=8s-4n#pj6psg z9vKP903#o!E`MkCbTIK{Ac@bPxnEiH3we6LX&QUR`i!JK{M-Bix}uR$%eMUnV(G9) zH2g_}U&HzyXSK3q{sX!Gck_F;{w5o5sQOS`TwJdbSOhzAEZYIMg?ux0IElyzyrl3; zPma$rtS+N@?phY4%2pW|_1rN%e(Z9>fbMfU07_XUeLqx`tblDvLj8nTqCwu3{>;Y9 z{oVJMxzc0d)DhAU5g#6D{rOq7S>%v@*K zyfPT>%a@JE?5BE;gdYzK-*Cn_#1ALTF=3WmhG(lb(!9$Fadi|wx|M=zHVS$-`}Qz< zpTuqUhWf0!Sc<-%PwGUmPb9biwpV95X;G!jvMRm7Cr-8HRf%LZGDuHh`z!v|Qa3zZ zT#w7c9l#QI_0O!o+Tek@nf*g`a9&F}RIGCrB1t5#_q07ID?yNqsMzN1KPThBVFHiU zI_V$bhx}6>^9}TIT@-XLBx)pR$>OgW6z8{9@ml`?t?=w~^f2P}AMAA5y zf&T0Iqxga!N!J#3g5ot(a}=)=%2dc&G8BLb*iihlrX&IY+2AnZ$&(cJB>R~q)8Fb% zZxoky*3t(3->*25N>q{rP?kM5+~X*TdU$}g?G!UYCQ^)#r-zrCo~PxTX+SgGys?%t zuyqL?X+gyl@BYaB8K0-c2%aK1kJ#aMmRy-}#~dZ$#0~1W&&FR%5Z3QBZ6SRPI^@YR z^tV8~SH`6P3!B^-30!(?f4U#{P<5Dfz-L!H6k!Ek?0Tk!;*ES*vo0gTZ9HdQmNDe zd!NJc%SN6>!pp3U-!*9T_!d^Vm*co{OL*76PMMv+DxF?T@+N}$?k(-plMpGr8(;^> zVr3ZY78r>ZkzMMuN>3LkojLabx)mJ&{BscIB3ABjXre`)ec!b!7gHpv^V zp#E>^nqp~&e1!U9hMks2Jobt&h~vK?h(myRpRr!jdE{UdWTU}cy%T$cj=f2IA7l6g2yhpuV2+9tVXnx(9~Y;^z-M?pyE?;D=Rzh^j%*mB{Sfg8u| zkMo1H{MQ@;ma%82+vvKZ>ul|%Lb0rF6ne4B(gr(_cz~*E!k9+=X zMqtP4V4~MZ)ii-==NB+ZtIjU8&j8jyDZerGcxP|!(q5Dl0;+x%uV&7RO({b);r;=` zEPeiQ{ch_va}3~P++!Ry-~8u~Y8H2|twR;cdSd0B?CwG^if>GiT|7e&ew^!Yk>Qiw z&DnOIsA0tnW2JF_o$4%`^6t*=<6N8w+v>KEg)YGIX&C%JGw_mqvsc=X{{RQRq^D7= z;mL~;?&3dk{{T8@(#xaWx}`4B^<4KA_Mpv;smgtuvC4FN1X{JUfiYn_LEr1?0Bk#*{V&WqdIR|l3iQ<;g3|Guv zVSQ@-ttPaYMGDx!;gTgPD?&$BBfe*1)A&Nc8+~2w>rJkPYQ_Px%lb(r;+-)-S=KwL zQ{m!)5PYfpPsN!S{{VZ_VBMbtF;$;Y406im_S05N`=j-N6sqpE`%&~^<5Ib`kjE%+ zfm=M5Z5C|N$&Voti6dvUd49soHm_?7k#Bi!x4Lw|*0I%0qy32-zMSUu8*oVf01T>5 zi&fZo<_QGGMm!u})vgp5m}8RCOLtc+5t<1fxe>o5ulpAtc1ADKxb@euzKS@c2!yFJAF>M?QoTF(!Gj%(F275omxgC8xze_)V}EmTaAB6xu6Y)o z+B=FfZV2Y4wXZ^d*=AlHaKLMFJGy!NS!U9B@CUEzORT(+XRSO*eV|yqq?BXpD*E4+BhxHriW@sSSBfT-tSK>2i$(ZaSzOnC z$0e-E>e{}N^#0E9gBTOEvc!MC{R*B^@*a(K3SH`Rv5_tkkj7CIkW}u}Exl>iEy0Hz zv6CX%+WoPc9;z|NLifLUKLl34<&P{Tl^yP#a;bGAkMvsec4j0o<=f>-W*(;&4+u&o zj@vu##_io#=BI}+;*3E&U(txa#XRopqE7bF8igm6XLGkxwP~8J0(Ym-Bdv*yMeQMe zuQfPqTJ?k~r1ILQaK81#5({ME84BlVg!XGlp^bpkt;ZTyb|a}Y?oV8^j)$3b@Y4*F z0DUq1U%aA4;#ylxtXxr^FWuP2cI7QL`V@Re{f=VzW@Ja_?rqoV;|TDNkM&q7K{dnN ziCpp}nOxMCJ$m)c$el-ofbnwDiOa+U*Yipe+2y&^)tK?LvIc1ZA83!VK9;6rhzQ5d zPc7OxWhv0*6mFO&ZdVrsF_nv&ZPX9znEI&>L!;AsGm2sya~)6Uue~zS6<<~L9+hcT znDz-6u3=|Cy8-ERkq0(O^)>Pdjl_*5h2_u{lHy-U2l~g6{ux#gQvu_WuA_g4X@Whhzvzp8qM8+mPaXjt&#NG!3bwG2)#Ep~YC> zH|Bz#1T|7C8!0LBJCXEt861(Smq$BKl8qtCn1D%0D)dKh2OnXF&!NEy9A|Dt%g+uX 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

    `v5X}X^7yB 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 diff --git a/examples/seneca/tint/tint.htm b/examples/seneca/tint/tint.htm deleted file mode 100644 index 29b7b649f..000000000 --- a/examples/seneca/tint/tint.htm +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

    -/* @pjs preload="string.jpg"; */
    -size(472,266);
    -background(0);
    -PImage b;
    -b = loadImage("string.jpg");
    -tint(0, 153, 204); // Tint blue
    -image(b, 0, 0);
    -noTint(); // Disable tint
    -image(b, 50, 0);
    -
    \ No newline at end of file diff --git a/examples/seneca/tint/tint.pjs b/examples/seneca/tint/tint.pjs deleted file mode 100644 index 589152a04..000000000 --- a/examples/seneca/tint/tint.pjs +++ /dev/null @@ -1,9 +0,0 @@ -/* @pjs preload="string.jpg"; */ -size(472,266); -background(0); -PImage b; -b = loadImage("string.jpg"); -tint(0, 153, 204); // Tint blue -image(b, 0, 0); -noTint(); // Disable tint -image(b, 50, 0); \ No newline at end of file diff --git a/examples/seneca/touchevents/multitouchevents.html b/examples/seneca/touchevents/multitouchevents.html deleted file mode 100644 index 5f5356b5e..000000000 --- a/examples/seneca/touchevents/multitouchevents.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - Processing.js test of multi touch event handling - - - - -

    Multi touch event handling

    -

    Presents a grey 700x700 sketch that can only be drawn on with a touchscreen

    -

    Each finger draws a different colour. Will not do anything with a mouse

    - - - -
    -
    -	
    - -
    - - - diff --git a/examples/seneca/touchevents/simpletouchevents.html b/examples/seneca/touchevents/simpletouchevents.html deleted file mode 100644 index b90ba40e4..000000000 --- a/examples/seneca/touchevents/simpletouchevents.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - Processing.js test of simple touch event handling - - - - -

    Simple touch event handling

    -

    Presents a grey 300x300 sketch that can be drawn on by mouse or touchscreen

    -

    Should work on both device types without any changes to your sketch code

    - - - -
    -
    -	
    - -
    - - - diff --git a/examples/seneca/triangle/p5_result.png b/examples/seneca/triangle/p5_result.png deleted file mode 100644 index b85df1b8f7f7354bfac890470992f45d49fbea71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmeAS@N?(olHy`uVBq!ia0vp^DIm!lvI6;>1s;*b3=DjSL74G){tBRWCKFE=$B>G+x3_cinhiu;0>ACw^lp`FDGRTw zVe)?e{SU>bF6%0)a?A?Y_WpkI?QLa6e|{W&JpaJyjtKu-H>Sq1pMF&}H~jwn9p65` z%NLW0$q(I=Ufc12_w|m;o7Y5d(hmEqbj|i!WqZB7c7^w=eW~|O>~?wH5OIWwr9tzw zl9&R6Po&sJ2F8R_n>tuI7=ov{>NqgWP}4sB-TseHgzu?~+LB?vSvYqTxh&7q@7dS= zI5_|Kj!%h}$EGsB{s~}`kE}d8RpPYWx(gBV zn~FNM&8HQ{6mHxVdGq*Gxzk4L7DVuGHtNe})!Dp5DakQ1^4M06X}&QJH?VCo>duzc zY2J~P$eW%jd_5@QRw3)5S!Yfuth>4)ZGYU1oSHuCqJ&WYx|@$rM$&>%StJ3V$ZdOjVT* z=hRubLuNzIW}%+dT+=*au0`lYdL9ks$hOl9);Ye$<@% cC|c|}4Y$2HXFPKoFi|mhy85}Sb4q9e08RZI^#A|> diff --git a/examples/seneca/triangle/triangle-3d.html b/examples/seneca/triangle/triangle-3d.html deleted file mode 100644 index 2a98d73fb..000000000 --- a/examples/seneca/triangle/triangle-3d.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - -

    triangle() test in a 3D context

    - -

    - - -

    - -
    -size(100, 100, P3D);
    -background(200);
    -box(10);
    -triangle(30, 75, 58, 20, 86, 75);
    -    
    - - \ No newline at end of file diff --git a/examples/seneca/triangle/triangle-3d.pjs b/examples/seneca/triangle/triangle-3d.pjs deleted file mode 100644 index b03052dff..000000000 --- a/examples/seneca/triangle/triangle-3d.pjs +++ /dev/null @@ -1,4 +0,0 @@ -size(100, 100, P3D); -background(200); -box(10); -triangle(30, 75, 58, 20, 86, 75); \ No newline at end of file diff --git a/examples/seneca/trim/trim.pjs b/examples/seneca/trim/trim.pjs deleted file mode 100644 index 1afa80c0d..000000000 --- a/examples/seneca/trim/trim.pjs +++ /dev/null @@ -1,33 +0,0 @@ -// Trim example -size(500,220); -background(20); -stroke(128, 128, 128); -fill(64); -rect(1, 1, width-3, height-3); - -String s1 = "normal string"; -String s2 = " extra leading spaces"; -String s3 = "extra trailing spaces "; -String s4 = " both leading and trailing "; -String[] a = { " inconsistent ", " spacing", "ok", " tab at the end "}; -String[] a2 = trim(a); - -PFont font; -font = loadFont("Arial"); -textFont(font, 14); -fill(32, 255, 0); -text("Strings", 5, 20); -text("String Arrays", 5, 120); -fill(255, 255, 255); -text("s1: |" + s1 + "|", 15, 40); -text("after: |" + trim(s1) + "|", 240, 40); -text("s2: |" + s2 + "|", 15, 60); -text("after: |" + trim(s2) + "|", 240, 60); -text("s3: |" + s3 + "|", 15, 80); -text("after: |" + trim(s3) + "|", 240, 80); -text("s4: |" + s4 + "|", 15, 100); -text("after: |" + trim(s4) + "|", 240, 100); -for(int i=0; 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

    oWEDQED}Fd%rB_{z&|{Q5gYDohyNGRuYGG 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 - - - Processing.js test of trim() - - - - - -

    - - trim() test

    -

    - This is a test of trim(string)

    -

    - trim() removes whitespace characters from the beginning and end of a String. In addition to standard whitespace characters such as space, carriage return, and tab, this function also removes the Unicode "nbsp" character.

    - - - -
    - Test written by
    Daniel Hodgin
    -

    - Source Code:

    -
    -// 	Trim example
    -size(500,220, P3D);
    -background(20);
    -stroke(128, 128, 128);
    -fill(64);
    -rect(1, 1, width-3, height-3);
    -
    -String s1 = "normal string";
    -String s2 = "   extra leading spaces";
    -String s3 = "extra trailing spaces    ";
    -String s4 = "   both leading and trailing   ";
    -String[] a = { "    inconsistent ", "  spacing", "ok", "     tab at the end   	"};
    -String[] a2 = trim(a);
    -
    -PFont font;
    -font = loadFont("Arial"); 
    -textFont(font, 14);
    -fill(32, 255, 0);
    -text("Strings", 5, 20);
    -text("String Arrays", 5, 120);
    -fill(255, 255, 255);
    -text("s1: |" + s1 + "|", 15, 40);
    -text("after: |" + trim(s1) + "|", 240, 40);
    -text("s2: |" + s2 + "|", 15, 60);
    -text("after: |" + trim(s2) + "|", 240, 60);
    -text("s3: |" + s3 + "|", 15, 80);
    -text("after: |" + trim(s3) + "|", 240, 80);
    -text("s4: |" + s4 + "|", 15, 100);
    -text("after: |" + trim(s4) + "|", 240, 100);
    -for(int i=0; i<a2.length; i++){
    -  text("a[" + i + "]: |" + a[i] + "|", 15, 140+(i*20));
    -  text("after: |" + a2[i] + "|", 240, 140+(i*20));
    -}
    -        
    -
    - - diff --git a/examples/seneca/xml (1806)/index.html b/examples/seneca/xml (1806)/index.html deleted file mode 100755 index 75027aa92..000000000 --- a/examples/seneca/xml (1806)/index.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - Processing.js test of trim() - - - -

    P5 2.0 loadXML test

    - -

    This test tries to load test.xml as an XML object

    - - - - - diff --git a/examples/seneca/xml (1806)/test.xml b/examples/seneca/xml (1806)/test.xml deleted file mode 100755 index 34ba591b6..000000000 --- a/examples/seneca/xml (1806)/test.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Processing - Processing Mobile - diff --git a/examples/style.css b/examples/style.css deleted file mode 100644 index d730defb7..000000000 --- a/examples/style.css +++ /dev/null @@ -1,50 +0,0 @@ -html, body { - background: #EEE; - font-family: Arial; - font-size: 13px; - margin: 0; - padding: 0; -} - -h1 { - background: #385C85; - color: #FFF; - padding: 10px; - padding-left: 20px; - margin-top: 0px; -} - -h1 a { - color: #FFF; -} - -h2 { - padding-left: 20px; -} - -p { - padding-left: 20px; - line-height: 1.3em; -} - -p a { - color: #385C85; -} - -canvas { - margin: 10px 0; -} - -pre { - margin-left: 20px; - margin-right: 20px; - padding: 5px; - background: #FFF; - border-top: 1px solid #333; - border-bottom: 1px solid #333; -} - -div.ref-col { - float: left; - width: 32%; -} diff --git a/examples/topics/animatedsprite.html b/examples/topics/animatedsprite.html deleted file mode 100644 index c04a1cfec..000000000 --- a/examples/topics/animatedsprite.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - -

    Processing.js

    -

    AnimatedSprite

    - -

    by James Patterson. - -Removed because AniSprite is not part of core processing - -Press the mouse button to change animations. -Demonstrates loading, displaying, and animating GIF images. -It would be easy to write a program to display -animated GIFs, but would not allow as much control over -the display sequence and rate of display.

    - -

    Original Processing.org Example: AnimatedSprite
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -AniSprite animation1, animation2;
    -float xpos, ypos;
    -float drag = 30.0;
    -
    -void setup() {
    -  size(200, 200);
    -  background(255, 204, 0);
    -  frameRate(24);
    -  animation1 = new AniSprite("PT_Shifty_00", 38);
    -  animation2 = new AniSprite("PT_Teddy_00", 60);
    -}
    -
    -void draw() { 
    -  float difx = mouseX - xpos;
    -  if (abs(difx) > 1.0) {
    -    xpos = xpos + difx/drag;
    -    xpos = constrain(xpos, 0, width);
    -  }
    -
    -  // Display the sprite at the position xpos, ypos
    -  if (mousePressed) {
    -    background(153, 153, 0);
    -    animation1.display(xpos-animation1.getWidth()/2, ypos);
    -  } else {
    -    background(255, 204, 0);
    -    animation2.display(xpos-animation1.getWidth()/2, ypos);
    -  }
    -}
    - - diff --git a/examples/topics/animator.html b/examples/topics/animator.html deleted file mode 100644 index f3514bf30..000000000 --- a/examples/topics/animator.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - -

    Processing.js

    -

    Animator

    - -

    A simple animation tool that displays a continuous cycle of -twelve images. Each image is displayed for 100 milliseconds -(one tenth of a second) to create animation. While each image -is displayed, its possible to draw directly into it by -pressing the mouse and moving the cursor. Start drawing to get -it started.

    - -

    Original Processing.org Example: Animator
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int currentFrame = 0;
    -PImage[] frames = new PImage[12];
    -int lastTime = 0;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  strokeWeight(4);
    -  smooth();
    -  background(204);
    -  for (int i = 0; i < frames.length; i++) {
    -    frames[i] = get(); // Create a blank frame
    -  }
    -}
    -
    -void draw() 
    -{
    -  int currentTime = millis();
    -  if (currentTime > lastTime+100) {
    -    nextFrame();
    -    lastTime = currentTime;
    -  }
    -  if (mousePressed == true) {
    -    line(pmouseX, pmouseY, mouseX, mouseY);
    -  }
    -}
    -
    -void nextFrame() 
    -{
    -  frames[currentFrame] = get(); // Get the display window
    -  currentFrame++; // Increment to next frame
    -  if (currentFrame >= frames.length) {
    -    currentFrame = 0;
    -  }
    -  image(frames[currentFrame], 0, 0);
    -}
    - - diff --git a/examples/topics/anisprite.html b/examples/topics/anisprite.html deleted file mode 100644 index 835cab393..000000000 --- a/examples/topics/anisprite.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - -

    Processing.js

    -

    AniSprite

    - -

    - -

    Original Processing.org Example: AniSprite
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// Class for animating a sequence of GIFs
    -
    -class AniSprite {
    -  PImage[] ani;
    -  int frame;
    -  int numFrames;
    -  
    -  AniSprite(String imageName, int frameCount) {
    -    numFrames = frameCount;
    -    ani = new PImage[numFrames];
    -    loadImages(imageName);
    -  }
    -
    -  void loadImages(String name) {
    -    for(int i=0; i<numFrames; i++) {
    -      String imageName = name + ((i < 10) ? "0" : "") + i + ".gif";
    -      ani[i] = loadImage(imageName);
    -    }
    -  }
    -
    -  void display(float xpos, float ypos) {
    -    frame = (frame+1)%numFrames;
    -    image(ani[frame], xpos, ypos);
    -  }
    -  
    -  int getWidth() {
    -    return ani[0].width;
    -  }
    -}
    - - diff --git a/examples/topics/blur.html b/examples/topics/blur.html deleted file mode 100644 index 5c5031fcf..000000000 --- a/examples/topics/blur.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - -

    Processing.js

    -

    Blur

    - -

    Known to be broken. Needs a re-write of p.createImage(). Bug #243

    - -

    Bluring half of an image by processing it through a low-pass filter.

    - -

    Original Processing.org Example: Blur
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -size(200, 200); 
    -PImage a;  // Declare variable "a" of type PImage 
    -a = loadImage("trees.jpg"); // Load the images into the program 
    -
    -float v = 1.0/9.0;
    -float[][] kernel = { { v, v, v },
    -                     { v, v, v },
    -                     { v, v, v } };
    -  
    -size(200, 200);
    -PImage img = loadImage("trees.jpg"); // Load the original image
    -image(a, 0, 0); // Displays the image from point (0,0) 
    -img.loadPixels();
    -// Create an opaque image of the same size as the original
    -PImage edgeImg = createImage(img.width, img.height, RGB);
    -// Loop through every pixel in the image.
    -for (int y = 1; y < img.height-1; y++) { // Skip top and bottom edges
    -  for (int x = 1; x < img.width-1; x++) { // Skip left and right edges
    -    float sum = 0; // Kernel sum for this pixel
    -    for (int ky = -1; ky <= 1; ky++) {
    -      for (int kx = -1; kx <= 1; kx++) {
    -        // Calculate the adjacent pixel for this kernel point
    -        int pos = (y + ky)*width + (x + kx);
    -        // Image is grayscale, red/green/blue are identical
    -        float val = red(img.pixels[pos]);
    -        // Multiply adjacent pixels based on the kernel values
    -        sum += kernel[ky+1][kx+1] * val;
    -      }
    -    }
    -    // For this pixel in the new image, set the gray value
    -    // based on the sum from the kernel
    -    edgeImg.pixels[y*img.width + x] = color(sum);
    -  }
    -}
    -// State that there are changes to edgeImg.pixels[]
    -edgeImg.updatePixels();
    -image(edgeImg, 100, 0); // Draw the new image
    - - diff --git a/examples/topics/bounce.html b/examples/topics/bounce.html deleted file mode 100644 index 39ed5913d..000000000 --- a/examples/topics/bounce.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - -

    Processing.js

    -

    Bounce

    - -

    When the shape hits the edge of the window, it reverses its direction.

    - -

    Original Processing.org Example: Bounce
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int size = 60;       // Width of the shape
    -float xpos, ypos;    // Starting position of shape    
    -
    -float xspeed = 2.8;  // Speed of the shape
    -float yspeed = 2.2;  // Speed of the shape
    -
    -int xdirection = 1;  // Left or Right
    -int ydirection = 1;  // Top to Bottom
    -
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  noStroke();
    -  frameRate(30);
    -  smooth();
    -  // Set the starting position of the shape
    -  xpos = width/2;
    -  ypos = height/2;
    -}
    -
    -void draw() 
    -{
    -  background(102);
    -  
    -  // Update the position of the shape
    -  xpos = xpos + ( xspeed * xdirection );
    -  ypos = ypos + ( yspeed * ydirection );
    -  
    -  // Test to see if the shape exceeds the boundaries of the screen
    -  // If it does, reverse its direction by multiplying by -1
    -  if (xpos > width-size || xpos < 0) {
    -    xdirection *= -1;
    -  }
    -  if (ypos > height-size || ypos < 0) {
    -    ydirection *= -1;
    -  }
    -
    -  // Draw the shape
    -  ellipse(xpos+size/2, ypos+size/2, size, size);
    -}
    - - diff --git a/examples/topics/bouncybubbles.html b/examples/topics/bouncybubbles.html deleted file mode 100644 index 40f9e7d50..000000000 --- a/examples/topics/bouncybubbles.html +++ /dev/null @@ -1,197 +0,0 @@ - - - - - -

    Processing.js

    -

    BouncyBubbles

    - -

    Based on code from Keith Peters (www.bit-101.com). - -Multiple-object collision.

    - -

    Original Processing.org Example: BouncyBubbles
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int numBalls = 12;
    -float spring = 0.05;
    -float gravity = 0.03;
    -Ball[] balls = new Ball[numBalls];
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  noStroke();
    -  smooth();
    -  for (int i = 0; i < numBalls; i++) {
    -    balls[i] = new Ball(random(width), random(height), random(20, 40), i, balls);
    -  }
    -}
    -
    -void draw() 
    -{
    -  background(0);
    -  for (int i = 0; i < numBalls; i++) {
    -    balls[i].collide();
    -    balls[i].move();
    -    balls[i].display();  
    -  }
    -}
    -
    -class Ball {
    -  float x, y;
    -  float diameter;
    -  float vx = 0;
    -  float vy = 0;
    -  int id;
    -  Ball[] others;
    - 
    -  Ball(float xin, float yin, float din, int idin, Ball[] oin) {
    -    x = xin;
    -    y = yin;
    -    diameter = din;
    -    id = idin;
    -    others = oin;
    -  } 
    -  
    -  void collide() {
    -    for (int i = id + 1; i < numBalls; i++) {
    -      float dx = others[i].x - x;
    -      float dy = others[i].y - y;
    -      float distance = sqrt(dx*dx + dy*dy);
    -      float minDist = others[i].diameter/2 + diameter/2;
    -      if (distance < minDist) { 
    -        float angle = atan2(dy, dx);
    -        float targetX = x + cos(angle) * minDist;
    -        float targetY = y + sin(angle) * minDist;
    -        float ax = (targetX - others[i].x) * spring;
    -        float ay = (targetY - others[i].y) * spring;
    -        vx -= ax;
    -        vy -= ay;
    -        others[i].vx += ax;
    -        others[i].vy += ay;
    -      }
    -    }   
    -  }
    -  
    -  void move() {
    -    vy += gravity;
    -    x += vx;
    -    y += vy;
    -    if (x + diameter/2 > width) {
    -      x = width - diameter/2;
    -      vx += -0.9; 
    -    }
    -    else if (x - diameter/2 < 0) {
    -      x = diameter/2;
    -      vx *= -0.9;
    -    }
    -    if (y + diameter/2 > height) {
    -      y = height - diameter/2;
    -      vy *= -0.9; 
    -    } 
    -    else if (y - diameter/2 < 0) {
    -      y = diameter/2;
    -      vy *= -0.9;
    -    }
    -  }
    -  
    -  void display() {
    -    fill(255, 204);
    -    ellipse(x, y, diameter, diameter);
    -  }
    -}
    - - diff --git a/examples/topics/brightness.html b/examples/topics/brightness.html deleted file mode 100644 index f2782418c..000000000 --- a/examples/topics/brightness.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - -

    Processing.js

    -

    Brightness

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    by Daniel Shiffman. - -Adjusts the brightness of part of the image -Pixels closer to the mouse will appear brighter.

    - -

    Original Processing.org Example: Brightness
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -PImage img;
    -
    -void setup() {
    -  size(200, 200);
    -  frameRate(30);
    -  img = loadImage("data/cait.jpg");
    -}
    -
    -void draw() {
    -  loadPixels();
    -  for (int x = 0; x < img.width; x++) {
    -    for (int y = 0; y < img.height; y++ ) {
    -      // Calculate the 1D location from a 2D grid
    -      int loc = x + y*img.width;
    -      // Get the R,G,B values from image
    -      float r,g,b;
    -      r = red (img.pixels[loc]);
    -      //g = green (img.pixels[loc]);
    -      //b = blue (img.pixels[loc]);
    -      // Calculate an amount to change brightness based on proximity to the mouse
    -      float maxdist = 50;//dist(0,0,width,height);
    -      float d = dist(x,y,mouseX,mouseY);
    -      float adjustbrightness = 255*(maxdist-d)/maxdist;
    -      r += adjustbrightness;
    -      //g += adjustbrightness;
    -      //b += adjustbrightness;
    -      // Constrain RGB to make sure they are within 0-255 color range
    -      r = constrain(r,0,255);
    -      //g = constrain(g,0,255);
    -      //b = constrain(b,0,255);
    -      // Make a new color and set pixel in the window
    -      //color c = color(r,g,b);
    -      color c = color(r);
    -      pixels[loc] = c;
    -    }
    -  }
    -  updatePixels();
    -}
    - - diff --git a/examples/topics/brownian.html b/examples/topics/brownian.html deleted file mode 100644 index 8788440d5..000000000 --- a/examples/topics/brownian.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -

    Processing.js

    -

    Brownian

    - -

    Recording random movement as a continuous line.

    - -

    Original Processing.org Example: Brownian
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int num = 2000;
    -int range = 4;
    -
    -float[] ax = new float[num];
    -float[] ay = new float[num]; 
    -
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  for(int i=0; i<num; i++) {
    -    ax[i] = 50;
    -    ay[i] = height/2;
    -  }
    -  frameRate(30);
    -}
    -
    -void draw() 
    -{
    -  background(51);
    -  
    -  // Shift all elements 1 place to the left
    -  for(int i=1; i<num; i++) {
    -    ax[i-1] = ax[i];
    -    ay[i-1] = ay[i];
    -  }
    -
    -  // Put a new value at the end of the array
    -  ax[num-1] += random(-range, range);
    -  ay[num-1] += random(-range, range);
    -
    -  // Constrain all points to the screen
    -  ax[num-1] = constrain(ax[num-1], 0, width);
    -  ay[num-1] = constrain(ay[num-1], 0, height);
    -  
    -  // Draw a line connecting the points
    -  for(int i=1; i<num; i++) {    
    -    float val = float(i)/num * 204.0 + 51;
    -    stroke(val);
    -    line(ax[i-1], ay[i-1], ax[i], ay[i]);
    -  }
    -}
    - - diff --git a/examples/topics/button.html b/examples/topics/button.html deleted file mode 100644 index ba3d23cf9..000000000 --- a/examples/topics/button.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - -

    Processing.js

    -

    Button

    - -

    Click on one of the colored squares in the -center of the image to change the color of -the background.

    - -

    Original Processing.org Example: Button
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int rectX, rectY;      // Position of square button
    -int circleX, circleY;  // Position of circle button
    -int rectSize = 50;     // Diameter of rect
    -int circleSize = 53;   // Diameter of circle
    -color rectColor, circleColor, baseColor;
    -color rectHighlight, circleHighlight;
    -color currentColor;
    -boolean rectOver = false;
    -boolean circleOver = false;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  smooth();
    -  rectColor = color(0);
    -  rectHighlight = color(51);
    -  circleColor = color(255);
    -  circleHighlight = color(204);
    -  baseColor = color(102);
    -  currentColor = baseColor;
    -  circleX = width/2+circleSize/2+10;
    -  circleY = height/2;
    -  rectX = width/2-rectSize-10;
    -  rectY = height/2-rectSize/2;
    -  ellipseMode(CENTER);
    -}
    -
    -void draw()
    -{
    -  update(mouseX, mouseY);
    -  background(currentColor);
    -  
    -  if(rectOver) {
    -    fill(rectHighlight);
    -  } else {
    -    fill(rectColor);
    -  }
    -  stroke(255);
    -  rect(rectX, rectY, rectSize, rectSize);
    -  
    -  if(circleOver) {
    -    fill(circleHighlight);
    -  } else {
    -    fill(circleColor);
    -  }
    -  stroke(0);
    -  ellipse(circleX, circleY, circleSize, circleSize);
    -}
    -
    -void update(int x, int y)
    -{
    -  if( overCircle(circleX, circleY, circleSize) ) {
    -    circleOver = true;
    -    rectOver = false;
    -  } else if ( overRect(rectX, rectY, rectSize, rectSize) ) {
    -    rectOver = true;
    -    circleOver = false;
    -  } else {
    -    circleOver = rectOver = false;
    -  }
    -}
    -
    -void mousePressed()
    -{
    -  if(circleOver) {
    -    currentColor = circleColor;
    -  }
    -  if(rectOver) {
    -    currentColor = rectColor;
    -  }
    -}
    -
    -boolean overRect(int x, int y, int width, int height) 
    -{
    -  if (mouseX >= x && mouseX <= x+width && 
    -      mouseY >= y && mouseY <= y+height) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    -
    -boolean overCircle(int x, int y, int diameter) 
    -{
    -  float disX = x - mouseX;
    -  float disY = y - mouseY;
    -  if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    - - diff --git a/examples/topics/buttons.html b/examples/topics/buttons.html deleted file mode 100644 index a2b032dec..000000000 --- a/examples/topics/buttons.html +++ /dev/null @@ -1,443 +0,0 @@ - - - - - -

    Processing.js

    -

    Buttons

    - -

    Click on one of the shapes to change -the background color. This example -demonstates a class for buttons.

    - -

    Original Processing.org Example: Buttons
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -color currentcolor;
    -
    -CircleButton circle1, circle2, circle3;
    -RectButton rect1, rect2;
    -
    -boolean locked = false;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  smooth();
    -
    -  color baseColor = color(102);
    -  currentcolor = baseColor;
    -
    -  // Define and create circle button
    -  color buttoncolor = color(204);
    -  color highlight = color(153);
    -  ellipseMode(CENTER);
    -  circle1 = new CircleButton(30, 100, 100, buttoncolor, highlight);
    -
    -  // Define and create rectangle button
    -  buttoncolor = color(204);
    -  highlight = color(153); 
    -  circle2 = new CircleButton(130, 110, 24, buttoncolor, highlight);
    -
    -  // Define and create rectangle button
    -  buttoncolor = color(153);
    -  highlight = color(102); 
    -  circle3 = new CircleButton(130, 140, 24, buttoncolor, highlight);
    -
    -  // Define and create rectangle button
    -  buttoncolor = color(102);
    -  highlight = color(51); 
    -  rect1 = new RectButton(150, 20, 100, buttoncolor, highlight);
    -
    -  // Define and create rectangle button
    -  buttoncolor = color(51);
    -  highlight = color(0); 
    -  rect2 = new RectButton(90, 20, 50, buttoncolor, highlight);
    -}
    -
    -void draw()
    -{
    -  background(currentcolor);
    -  stroke(255);
    -  update(mouseX, mouseY);
    -  circle1.display();
    -  circle2.display();
    -  circle3.display();
    -  rect1.display();
    -  rect2.display();
    -}
    -
    -void update(int x, int y)
    -{
    -  if(locked == false) {
    -    circle1.update();
    -    circle2.update();
    -    circle3.update();
    -    rect1.update();
    -    rect2.update();
    -  } 
    -  else {
    -    locked = false;
    -  }
    -
    -  if(mousePressed) {
    -    if(circle1.pressed()) {
    -      currentcolor = circle1.basecolor;
    -    } 
    -    else if(circle2.pressed()) {
    -      currentcolor = circle2.basecolor;
    -    } 
    -    else if(circle3.pressed()) {
    -      currentcolor = circle3.basecolor;
    -    } 
    -    else if(rect1.pressed()) {
    -      currentcolor = rect1.basecolor;
    -    } 
    -    else if(rect2.pressed()) {
    -      currentcolor = rect2.basecolor;
    -    }
    -  }
    -}
    -
    -
    -class Button
    -{
    -  int x, y;
    -  int size;
    -  color basecolor, highlightcolor;
    -  color currentcolor;
    -  boolean over = false;
    -  boolean pressed = false;   
    -
    -  void update() 
    -  {
    -    if(over()) {
    -      currentcolor = highlightcolor;
    -    } 
    -    else {
    -      currentcolor = basecolor;
    -    }
    -  }
    -
    -  boolean pressed() 
    -  {
    -    if(over) {
    -      locked = true;
    -      return true;
    -    } 
    -    else {
    -      locked = false;
    -      return false;
    -    }    
    -  }
    -
    -  boolean over() 
    -  { 
    -    return true; 
    -  }
    -
    -  boolean overRect(int x, int y, int width, int height) 
    -  {
    -    if (mouseX >= x && mouseX <= x+width && 
    -      mouseY >= y && mouseY <= y+height) {
    -      return true;
    -    } 
    -    else {
    -      return false;
    -    }
    -  }
    -
    -  boolean overCircle(int x, int y, int diameter) 
    -  {
    -    float disX = x - mouseX;
    -    float disY = y - mouseY;
    -    if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
    -      return true;
    -    } 
    -    else {
    -      return false;
    -    }
    -  }
    -
    -}
    -
    -class CircleButton extends Button
    -{ 
    -  CircleButton(int ix, int iy, int isize, color icolor, color ihighlight) 
    -  {
    -    x = ix;
    -    y = iy;
    -    size = isize;
    -    basecolor = icolor;
    -    highlightcolor = ihighlight;
    -    currentcolor = basecolor;
    -  }
    -
    -  boolean over() 
    -  {
    -    if( overCircle(x, y, size) ) {
    -      over = true;
    -      return true;
    -    } 
    -    else {
    -      over = false;
    -      return false;
    -    }
    -  }
    -
    -  void display() 
    -  {
    -    stroke(255);
    -    fill(currentcolor);
    -    ellipse(x, y, size, size);
    -  }
    -}
    -
    -class RectButton extends Button
    -{
    -  RectButton(int ix, int iy, int isize, color icolor, color ihighlight) 
    -  {
    -    x = ix;
    -    y = iy;
    -    size = isize;
    -    basecolor = icolor;
    -    highlightcolor = ihighlight;
    -    currentcolor = basecolor;
    -  }
    -
    -  boolean over() 
    -  {
    -    if( overRect(x, y, size, size) ) {
    -      over = true;
    -      return true;
    -    } 
    -    else {
    -      over = false;
    -      return false;
    -    }
    -  }
    -
    -  void display() 
    -  {
    -    stroke(255);
    -    fill(currentcolor);
    -    rect(x, y, size, size);
    -  }
    -}
    - - diff --git a/examples/topics/chain.html b/examples/topics/chain.html deleted file mode 100644 index 15696379f..000000000 --- a/examples/topics/chain.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - -

    Processing.js

    -

    Chain

    - -

    One mass is attached to the mouse position and the other -is attached the position of the other mass. The gravity -in the environment pulls down on both.

    - -

    Original Processing.org Example: Chain
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Spring2D s1, s2;
    -
    -float gravity = 6.0;
    -float mass = 2.0;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  smooth();
    -  fill(0);
    -  // Inputs: x, y, mass, gravity
    -  s1 = new Spring2D(0.0, width/2, mass, gravity);
    -  s2 = new Spring2D(0.0, width/2, mass, gravity);
    -}
    -
    -void draw() 
    -{
    -  background(204);
    -  s1.update(mouseX, mouseY);
    -  s1.display(mouseX, mouseY);
    -  s2.update(s1.x, s1.y);
    -  s2.display(s1.x, s1.y);
    -}
    -
    -class Spring2D {
    -  float vx, vy; // The x- and y-axis velocities
    -  float x, y; // The x- and y-coordinates
    -  float gravity;
    -  float mass;
    -  float radius = 20;
    -  float stiffness = 0.2;
    -  float damping = 0.7;
    -  
    -  Spring2D(float xpos, float ypos, float m, float g) {
    -    x = xpos;
    -    y = ypos;
    -    mass = m;
    -    gravity = g;
    -  }
    -  
    -  void update(float targetX, float targetY) {
    -    float forceX = (targetX - x) * stiffness;
    -    float ax = forceX / mass;
    -    vx = damping * (vx + ax);
    -    x += vx;
    -    float forceY = (targetY - y) * stiffness;
    -    forceY += gravity;
    -    float ay = forceY / mass;
    -    vy = damping * (vy + ay);
    -    y += vy;
    -  }
    -  
    -  void display(float nx, float ny) {
    -    noStroke();
    -    ellipse(x, y, radius*2, radius*2);
    -    stroke(255);
    -    line(x, y, nx, ny);
    -  }
    -}
    - - diff --git a/examples/topics/circlecollision.html b/examples/topics/circlecollision.html deleted file mode 100644 index 00f43d050..000000000 --- a/examples/topics/circlecollision.html +++ /dev/null @@ -1,334 +0,0 @@ - - - - - -

    Processing.js

    -

    CircleCollision

    - -

    by Ira Greenberg. - -Based on Keith Peter's Solution in -Foundation Actionscript Animation: -Making Things Move! -http://www.friendsofed.com/book.html?isbn=1590597915

    - -

    Original Processing.org Example: CircleCollision
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Ball[] balls =  { 
    -  new Ball(100, 400, 10), 
    -  new Ball(700, 400, 40) 
    -  };
    -
    -Vect2D[] vels = { 
    -  new Vect2D(2.15, -1.35), 
    -  new Vect2D(-1.65, .42) 
    -  };
    -
    -void setup(){
    -  size(200, 200);
    -  smooth();
    -  noStroke();
    -}
    -
    -void draw(){
    -  background(51);
    -  fill(204);
    -  for (int i=0; i< 2; i++){
    -    balls[i].x += vels[i].vx;
    -    balls[i].y += vels[i].vy;
    -    ellipse(balls[i].x, balls[i].y, balls[i].r*2, balls[i].r*2);
    -    checkBoundaryCollision(balls[i], vels[i]);
    -  }
    -  checkObjectCollision(balls, vels);
    -}
    -
    -void checkObjectCollision(Ball[] b, Vect2D[] v){
    -
    -  // get distances between the balls components
    -  Vect2D bVect = new Vect2D();
    -  bVect.vx = b[1].x - b[0].x;
    -  bVect.vy = b[1].y - b[0].y;
    -
    -  // calculate magnitude of the vector separating the balls
    -  float bVectMag = sqrt(bVect.vx * bVect.vx + bVect.vy * bVect.vy);
    -  if (bVectMag < b[0].r + b[1].r){
    -    // get angle of bVect
    -    float theta  = atan2(bVect.vy, bVect.vx);
    -    // precalculate trig values
    -    float sine = sin(theta);
    -    float cosine = cos(theta);
    -
    -    /* bTemp will hold rotated ball positions. You 
    -     just need to worry about bTemp[1] position*/
    -    Ball[] bTemp = {  
    -      new Ball(), new Ball()      };
    -    /* b[1]'s position is relative to b[0]'s
    -     so you can use the vector between them (bVect) as the 
    -     reference point in the rotation expressions.
    -     bTemp[0].x and bTemp[0].y will initialize
    -     automatically to 0.0, which is what you want
    -     since b[1] will rotate around b[0] */
    -    bTemp[1].x  = cosine * bVect.vx + sine * bVect.vy;
    -    bTemp[1].y  = cosine * bVect.vy - sine * bVect.vx;
    -
    -    // rotate Temporary velocities
    -    Vect2D[] vTemp = { 
    -      new Vect2D(), new Vect2D()     };
    -    vTemp[0].vx  = cosine * v[0].vx + sine * v[0].vy;
    -    vTemp[0].vy  = cosine * v[0].vy - sine * v[0].vx;
    -    vTemp[1].vx  = cosine * v[1].vx + sine * v[1].vy;
    -    vTemp[1].vy  = cosine * v[1].vy - sine * v[1].vx;
    -
    -    /* Now that velocities are rotated, you can use 1D
    -     conservation of momentum equations to calculate 
    -     the final velocity along the x-axis. */
    -    Vect2D[] vFinal = {  
    -      new Vect2D(), new Vect2D()      };
    -    // final rotated velocity for b[0]
    -    vFinal[0].vx = ((b[0].m - b[1].m) * vTemp[0].vx + 2 * b[1].m * 
    -      vTemp[1].vx) / (b[0].m + b[1].m);
    -    vFinal[0].vy = vTemp[0].vy;
    -    // final rotated velocity for b[0]
    -    vFinal[1].vx = ((b[1].m - b[0].m) * vTemp[1].vx + 2 * b[0].m * 
    -      vTemp[0].vx) / (b[0].m + b[1].m);
    -    vFinal[1].vy = vTemp[1].vy;
    -
    -    // hack to avoid clumping
    -    bTemp[0].x += vFinal[0].vx;
    -    bTemp[1].x += vFinal[1].vx;
    -
    -    /* Rotate ball positions and velocities back
    -     Reverse signs in trig expressions to rotate 
    -     in the opposite direction */
    -    // rotate balls
    -    Ball[] bFinal = { 
    -      new Ball(), new Ball()     };
    -    bFinal[0].x = cosine * bTemp[0].x - sine * bTemp[0].y;
    -    bFinal[0].y = cosine * bTemp[0].y + sine * bTemp[0].x;
    -    bFinal[1].x = cosine * bTemp[1].x - sine * bTemp[1].y;
    -    bFinal[1].y = cosine * bTemp[1].y + sine * bTemp[1].x;
    -
    -    // update balls to screen position
    -    b[1].x = b[0].x + bFinal[1].x;
    -    b[1].y = b[0].y + bFinal[1].y;
    -    b[0].x = b[0].x + bFinal[0].x;
    -    b[0].y = b[0].y + bFinal[0].y;
    -
    -    // update velocities
    -    v[0].vx = cosine * vFinal[0].vx - sine * vFinal[0].vy;
    -    v[0].vy = cosine * vFinal[0].vy + sine * vFinal[0].vx;
    -    v[1].vx = cosine * vFinal[1].vx - sine * vFinal[1].vy;
    -    v[1].vy = cosine * vFinal[1].vy + sine * vFinal[1].vx;
    -  }
    -}
    -
    -class Ball{
    -  float x, y, r, m;
    -
    -  // default constructor
    -  Ball() {
    -  }
    -
    -  Ball(float x, float y, float r) {
    -    this.x = x;
    -    this.y = y;
    -    this.r = r;
    -    m = r*.1;
    -  }
    -}
    -
    -class Vect2D{
    -  float vx, vy;
    -
    -  // default constructor
    -  Vect2D() {
    -  }
    -
    -  Vect2D(float vx, float vy) {
    -    this.vx = vx;
    -    this.vy = vy;
    -  }
    -}
    -
    -// checkBoundaryCollision() function:
    -void checkBoundaryCollision(Ball ball, Vect2D vel){
    -  if (ball.x > width-ball.r){
    -    ball.x = width-ball.r;
    -    vel.vx *= -1;
    -  } 
    -  else if (ball.x < ball.r){
    -    ball.x = ball.r;
    -    vel.vx *= -1;
    -  } 
    -  else if (ball.y > height-ball.r){
    -    ball.y = height-ball.r;
    -    vel.vy *= -1;
    -  } 
    -  else if (ball.y < ball.r){
    -    ball.y = ball.r;
    -    vel.vy *= -1;
    -  }
    -}
    - - diff --git a/examples/topics/collision.html b/examples/topics/collision.html deleted file mode 100644 index 611b86393..000000000 --- a/examples/topics/collision.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - -

    Processing.js

    -

    Collision

    - -

    Move the mouse up and down to move the paddle.

    - -

    Original Processing.org Example: Collision
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// Global variables for the ball
    -float ball_x;
    -float ball_y;
    -float ball_dir = 1;
    -float ball_size = 5;  // Radius
    -float dy = 0;  // Direction
    -
    -// Global variables for the paddle
    -int paddle_width = 5;
    -int paddle_height = 20;
    -
    -int dist_wall = 15;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  rectMode(CENTER_RADIUS);
    -  ellipseMode(CENTER_RADIUS);
    -  noStroke();
    -  smooth();
    -  ball_y = height/2;
    -  ball_x = 1;
    -}
    -
    -void draw() 
    -{
    -  background(51);
    -  
    -  ball_x += ball_dir * 1.0;
    -  ball_y += dy;
    -  if(ball_x > width+ball_size) {
    -    ball_x = -width/2 - ball_size;
    -    ball_y = random(0, height);
    -    dy = 0;
    -  }
    -  
    -  // Constrain paddle to screen
    -  float paddle_y = constrain(mouseY, paddle_height, height-paddle_height);
    -
    -  // Test to see if the ball is touching the paddle
    -  float py = width-dist_wall-paddle_width-ball_size;
    -  if(ball_x == py 
    -     && ball_y > paddle_y - paddle_height - ball_size 
    -     && ball_y < paddle_y + paddle_height + ball_size) {
    -    ball_dir *= -1;
    -    if(mouseY != pmouseY) {
    -      dy = (mouseY-pmouseY)/2.0;
    -      if(dy >  5) { dy =  5; }
    -      if(dy < -5) { dy = -5; }
    -    }
    -  } 
    -  
    -  // If ball hits paddle or back wall, reverse direction
    -  if(ball_x < ball_size && ball_dir == -1) {
    -    ball_dir *= -1;
    -  }
    -  
    -  // If the ball is touching top or bottom edge, reverse direction
    -  if(ball_y > height-ball_size) {
    -    dy = dy * -1;
    -  }
    -  if(ball_y < ball_size) {
    -    dy = dy * -1;
    -  }
    -
    -  // Draw ball
    -  fill(255);
    -  ellipse(ball_x, ball_y, ball_size, ball_size);
    -  
    -  // Draw the paddle
    -  fill(153);
    -  rect(width-dist_wall, paddle_y, paddle_width, paddle_height);  
    -}
    - - diff --git a/examples/topics/continuouslines.html b/examples/topics/continuouslines.html deleted file mode 100644 index 39cb589f3..000000000 --- a/examples/topics/continuouslines.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - -

    Processing.js

    -

    ContinuousLines

    - -

    Can not tell if this was ever working exactly like it does in Java. Something weird going on with events here? F1LT3R

    - -

    Click and drag the mouse to draw a line.

    - -

    Original Processing.org Example: ContinuousLines
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -void setup() {
    -  size(200, 200);
    -  background(102);
    -}
    -
    -void draw() {
    -  stroke(255);
    -  if(mousePressed) {
    -    line(mouseX, mouseY, pmouseX, pmouseY);
    -  }
    -}
    - - diff --git a/examples/topics/convolution.html b/examples/topics/convolution.html deleted file mode 100644 index c40843e14..000000000 --- a/examples/topics/convolution.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - -

    Processing.js

    -

    Convolution

    - -

    by Daniel Shiffman. - -Applys a convolution matrix to a portion of the index. -Move mouse to apply filter to different parts of the image.

    - -

    Original Processing.org Example: Convolution
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -
    -/* @pjs preload="data/cait.jpg"; */
    -
    -PImage img;
    -int w = 80;
    -
    -// It's possible to convolve the image with 
    -// many different matrices
    -
    -  float[][] matrix = { { -1, -1, -1 },
    -                       { -1,  9, -1 },
    -                       { -1, -1, -1 } }; 
    -
    -void setup() {
    -  size(200, 200);
    -  frameRate(30);
    -  img = loadImage("data/cait.jpg");
    -}
    -
    -void draw() {
    -  // We're only going to process a portion of the image
    -  // so let's set the whole image as the background first
    -  image(img,0,0);
    -  // Where is the small rectangle we will process
    -  int xstart = constrain(mouseX-w/2,0,img.width);
    -  int ystart = constrain(mouseY-w/2,0,img.height);
    -  int xend = constrain(mouseX+w/2,0,img.width);
    -  int yend = constrain(mouseY+w/2,0,img.height);
    -  int matrixsize = 3;
    -  loadPixels();
    -  // Begin our loop for every pixel
    -  for (int x = xstart; x < xend; x++) {
    -    for (int y = ystart; y < yend; y++ ) {
    -      color c = convolution(x,y,matrix,matrixsize,img);
    -      int loc = x + y*img.width;
    -      pixels[loc] = c;
    -    }
    -  }
    -  updatePixels();
    -}
    -
    -color convolution(int x, int y, float[][] matrix,int matrixsize, PImage img)
    -{
    -  float rtotal = 0.0;
    -  float gtotal = 0.0;
    -  float btotal = 0.0;
    -  int offset = matrixsize / 2;
    -  for (int i = 0; i < matrixsize; i++){
    -    for (int j= 0; j < matrixsize; j++){
    -      // What pixel are we testing
    -      int xloc = x+i-offset;
    -      int yloc = y+j-offset;
    -      int loc = xloc + img.width*yloc;
    -      // Make sure we haven't walked off our image, we could do better here
    -      loc = constrain(loc,0,img.pixels.length-1);
    -      // Calculate the convolution
    -      rtotal += (red(img.pixels[loc]) * matrix[i][j]);
    -      gtotal += (green(img.pixels[loc]) * matrix[i][j]);
    -      btotal += (blue(img.pixels[loc]) * matrix[i][j]);
    -    }
    -  }
    -  // Make sure RGB is within range
    -  rtotal = constrain(rtotal,0,255);
    -  gtotal = constrain(gtotal,0,255);
    -  btotal = constrain(btotal,0,255);
    -  // Return the resulting color
    -  return color(rtotal,gtotal,btotal);
    -}
    - - diff --git a/examples/topics/conway.html b/examples/topics/conway.html deleted file mode 100644 index 23de5b5b5..000000000 --- a/examples/topics/conway.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - - -

    Processing.js

    -

    Conway

    - -

    by Mike Davis. - -This program is a simple version of Conway's -game of Life. A lit point turns off if there -are fewer than two or more than three surrounding -lit points. An unlit point turns on if there -are exactly three lit neighbors. The 'density' -parameter determines how much of the board will -start out lit.

    - -

    Original Processing.org Example: Conway
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int sx, sy; 
    -float density = 0.5; 
    -int[][][] world;
    - 
    -void setup() 
    -{ 
    -  size(100, 100);
    -  frameRate(12);
    -  sx = width;
    -  sy = height;
    -  world = new int[sx][sy][2]; 
    -  stroke(255); 
    -   
    -  // Set random cells to 'on' 
    -  for (int i = 0; i < sx * sy * density; i++) { 
    -    world[(int)random(sx)][(int)random(sy)][1] = 1; 
    -  } 
    -} 
    - 
    -void draw() 
    -{ 
    -  background(0); 
    -  
    -  // Drawing and update cycle 
    -  for (int x = 0; x < sx; x=x+1) { 
    -    for (int y = 0; y < sy; y=y+1) { 
    -      //if (world[x][y][1] == 1) 
    -      // Change recommended by The.Lucky.Mutt
    -      if ((world[x][y][1] == 1) || (world[x][y][1] == 0 && world[x][y][0] == 1)) 
    -      { 
    -        world[x][y][0] = 1; 
    -        point(x, y); 
    -      } 
    -      if (world[x][y][1] == -1) 
    -      { 
    -        world[x][y][0] = 0; 
    -      } 
    -      world[x][y][1] = 0; 
    -    } 
    -  } 
    -  // Birth and death cycle 
    -  for (int x = 0; x < sx; x=x+1) { 
    -    for (int y = 0; y < sy; y=y+1) { 
    -      int count = neighbors(x, y); 
    -      if (count == 3 && world[x][y][0] == 0) 
    -      { 
    -        world[x][y][1] = 1; 
    -      } 
    -      if ((count < 2 || count > 3) && world[x][y][0] == 1) 
    -     { 
    -        world[x][y][1] = -1; 
    -      } 
    -    } 
    -  } 
    -} 
    - 
    -// Count the number of adjacent cells 'on' 
    -int neighbors(int x, int y) 
    -{ 
    -  return world[(x + 1) % sx][y][0] + 
    -         world[x][(y + 1) % sy][0] + 
    -         world[(x + sx - 1) % sx][y][0] + 
    -         world[x][(y + sy - 1) % sy][0] + 
    -         world[(x + 1) % sx][(y + 1) % sy][0] + 
    -         world[(x + sx - 1) % sx][(y + 1) % sy][0] + 
    -         world[(x + sx - 1) % sx][(y + sy - 1) % sy][0] + 
    -         world[(x + 1) % sx][(y + sy - 1) % sy][0]; 
    -}
    - - diff --git a/examples/topics/customtool.html b/examples/topics/customtool.html deleted file mode 100644 index 30db6b926..000000000 --- a/examples/topics/customtool.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - -

    Processing.js

    -

    CustomTool

    - -

    Move the cursor across the screen to draw. -In addition to creating software tools to simulate pens and pencils, -it is possible to create unique tools to draw with.

    - -

    Original Processing.org Example: CustomTool
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int dots = 1000;
    -float[] dX = new float[dots];
    -float[] dY = new float[dots];
    -
    -float l_0 = 0.0;
    -float h_0 = 0.0;
    -
    -float legX = 0.0;
    -float legY = 0.0;
    -float thighX = 0.0;
    -float thighY = 0.0;
    -
    -float l = 30.0; // Length of the 'leg'
    -float h = 60.0; // Height of the 'leg'
    -
    -float nmx, nmy = 0.0;
    -float mx, my = 0.0;
    -
    -float offset;
    -
    -int currentValue = 0;
    -int valdir = 1;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  noStroke();
    -  fill(102);
    -  rect(0, 0, width, height);
    -  offset = width/2;
    -}
    -
    -void draw() 
    -{
    -  // Smooth the mouse
    -  nmx = mouseX;
    -  nmy = mouseY;
    -  if((abs(mx - nmx) > 1.0) || (abs(my - nmy) > 1.0)) { 
    -    mx = mx - (mx-nmx)/20.0;
    -    my = my - (my-nmy)/20.0;
    -    
    -    // Set the drawing value
    -    currentValue += 1* valdir;
    -    if(currentValue > 255 || currentValue <= 0) {
    -      valdir *= -1;
    -    }
    -  }
    -
    -  iKinematics();
    -  kinematics();
    -  
    -  pushMatrix();
    -  translate(offset, offset);
    -  stroke(currentValue); 
    -  line(thighX, thighY, legX, legY);
    -  popMatrix();
    -  
    -  stroke(255);
    -  point(legX+offset, legY+offset);
    -}
    -
    -void kinematics() 
    -{
    -  thighX = h*cos(h_0);
    -  thighY = h*sin(h_0);
    -  legX = thighX + l*cos(h_0 - l_0);
    -  legY = thighY + l*sin(h_0 - l_0);
    -}
    -
    -void iKinematics()
    -{
    -  float tx = mx - width/2.0;
    -  float ty = my - height/2.0;
    -  float c2 = (tx*tx + ty*ty - h*h - l*l)/(2*h*l); //in degrees
    -  float s2 = sqrt(abs(1 - c2*c2)); // the sign here determines the bend in the joint  
    -  l_0 = -atan2(s2, c2);
    -  h_0 = atan2(ty, tx) - atan2(l*s2, h+l*c2);
    -}
    - - diff --git a/examples/topics/data/PT_Shifty_0000.gif b/examples/topics/data/PT_Shifty_0000.gif deleted file mode 100644 index 1a9893ad2b270cab205245d3152aad85e437b28a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4DNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MO=)_KhcX&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@ydAoJCIVGTmS$7 diff --git a/examples/topics/data/PT_Shifty_0001.gif b/examples/topics/data/PT_Shifty_0001.gif deleted file mode 100644 index 1a9893ad2b270cab205245d3152aad85e437b28a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 314 zcmV-A0mc4DNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MO=)_KhcX&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@ydAoJCIVGTmS$7 diff --git a/examples/topics/data/PT_Shifty_0002.gif b/examples/topics/data/PT_Shifty_0002.gif deleted file mode 100644 index c53edb9435c8051031578678d4eef2faee8b269a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmV-E0m1%9Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C=q*xbjSM@LlKnzTo^13<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@yd0fhcXNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C=fy!0t@fSbz)ozT5uq>*;txpz(;xF_g%r z)5BCmpVaDPn!sAO+=JFD>x#Qy@c3*kF3RXOjR+^Y=fGSXPS5N2{J#GW7)TZ-SZH{N zn5dY+w&-|8_$XP?IB6*rd8xUSx#?;48H!LT`bb*3sD`@A+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@ydc|(5>i1GIqSU550 zW~g|9xagR{=Hr+6SV=`GfTM|N*@?&LMChq_<4`3!T6kBQ$(j0C6dU_WJ1Kixn``Q- z+l$&e`U~7CJX~39yeOG$yvz*j{0z-2U2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@yd)O4GH?Q8k OeEa(S3pjAz0suSYD$~jU diff --git a/examples/topics/data/PT_Shifty_0007.gif b/examples/topics/data/PT_Shifty_0007.gif deleted file mode 100644 index a53c6abc7e4a1228268198feb5771f07ab65f686..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 501 zcmVv8q=utim3XK*zQuh0DH$evBFGF!_Zl-`n_|95v|{F}SX-07?p8;zw5Z5=pRbgT{7E8zPbJS{#<4sJf4z8B8k zZugEJUpMbvuSR>0pHH?A&tDpV^aTF<1FxDv9Bin8`nB*2CN5JHMvUQ!;={*_V;)t6 z$We&LZXvroQ)Q&2$tEm8s(jM&)O4GH?Q8k zeEa(S3plXg!GsGNK8!fA;>C;`JAMo~vgFB>D_g#dIkV=?oI88|3_7&v(WFb8K8-rH r>eZ}UyM7Hjw(QxoYumn!JGbuLynFlp4LrE;;lzs@KaM=Pivj>UW-tJT diff --git a/examples/topics/data/PT_Shifty_0008.gif b/examples/topics/data/PT_Shifty_0008.gif deleted file mode 100644 index 1ce59b9a63b7b8902e12856f1f69b57022324b9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 615 zcmV-t0+{_rNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_qwh~PF&G%gZi~x7OqERwTDwo8g z^NCF+VO77RdGgrjwju{<-8xXhtu~*xDl9e zSg5EoXxF$136U7}7-`AJc&RB_DUdd~X?d6v1R4rCI_BAVidw0(+A15{0Bbtym#BJ+ zi>Ld^+MCncagJKY_TeXm3jX-Y-N=)~tV#5B5U??`R z$Pvn(I3PoEX+(0PNs$@Llw6q)WuKQY8#=;tuO=OtI3w!Zd6Q4hpC|5k97?o=(UwS) zj#yd?p3@#sZ#JF!p=wX8H?#_(#g&FvL{h_w9pn+L*%)>7U0s`@EjXWWf6T1+wr+)# zoYd-F!S|itzbOL4DN7izON6izvnYmziDMU$y9}PJSk+<7GbZKbyf+wK(1t#f24woQ z>eZ}UyM7Hjw(QxoYumn!JGbuLynFlp4LrE;;lzs@zc~6hBIV4REBfO60`%zAt6RU0 zJ-hbp+`D`K4nDm2@#M>!KaW1W`t|JFyMGTqzWn+0>)XGNKfnI{{5t#l{|{h*0uD%E zfd(FkV1f!R$Y6sGJ_uoi5>7~Ag%)0jVTKxR$YF;beh6ZSB92I6i6)+iB0~iL06XD| BG%^4H diff --git a/examples/topics/data/PT_Shifty_0009.gif b/examples/topics/data/PT_Shifty_0009.gif deleted file mode 100644 index 557bedf8ee1d5e61f0e785fe738f706d82b8ab6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 733 zcmV<30wVoKNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoK{6a@PZl=KWkMz0u5Dh0=; z^NCzabxr^P>YQqKJ*)Q%j&8@ZF8FK}lh-aY`g(-3=j{L-`=skt_~W6u7ii-504R7E zqGqIs*l1zMN3P(UgZLEEVd&4{!gvu8N*p6h6uSO@7vVM7 z_=jUhd&i7mM7_85kbQ=R2U{M``PAi!uTNe5y@*rX-_tiQe-y|1_OSQk&;MI;0D?dY zf9nnP#4eW}0fQ$!42wz6ocXa?VL-op#=dXP$cQ$!DK_{t0NH Pf(}Y(p@tp`K>+|eB|&Pm diff --git a/examples/topics/data/PT_Shifty_0010.gif b/examples/topics/data/PT_Shifty_0010.gif deleted file mode 100644 index 31fd776e421e1bc9ccd124cf2a74c7ba71cc4239..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmV+>1KIpXNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`%tOCV58+K`gt zQ3-`Pr_`!5ie*{1)vWh41&GJw^7V@zIm>MFGYtNxpYNfj|g3kwQ? zn_GIyu<83J+)zAxcN_|g45y6B-2C-?@I)<*MSXUS4W+#u-R%vGbY&ebUZlL`iJm^R zZq@#d7T?895A@xOpWm}@r=Pza&%hZFI50;+LT?Zzyb%vULw65#M6AZdVMYEL7Z0A> zsE*vGk09ZRgf_3FkYmCosti(Wm&chef5bdxj$+LiH-nYax${NOWhsLa#CcMq(G)G2 zkzA^9R79mvOAK8mv+9hdt+Hz6DK%WLuN=d6^-8t{S4Th7Zl!eXsav6N(aD{wwl1%> zc(awl@Lt%r`Q78cug8Giv-k>`E%=u~%o(`eJ(-XO;d$*`s9=WV)#o966bb0xL_dK-Vt(havtNi4 zni3F&AzI^+OexYAoQ*Pih?o+(V(F!pPlowrmt;0r=9y@Usb-7qwYesLaK34#ny3*8AvX`s$tItE{t0NH zf(}Y(p@trcXrhWP%4nmGJ_>21l1@r#rIucbX{MTP%4w&behO-+qK-;xsivNaYO1QP k%4(~wz6xusvd&6tt+w8ZYp%NP%4@H_{t9fcS``2QJJ9oi5Z~z$k{oS37RN68dYj)nfkN}+UnW_t0_CXR7-h_ zo22W=+k5mID*XCsT8U~rjGVm5oa-F=hZh_TRLVAHy^JkXeYaNTeErQ6PKRJwXMV0T zxuypEhL*^+^;)P@LY9 z#&F4Cs8bqHk0PC_f@cGWSYK$3Dz)p*n_I7nHBlAp%d;!eS{=xCEV-r#;l^d*)@aVV z940=XNSCh&zYYKk&N}n&!@!3>5H6c#Z{rJ()$W^&HgVxMk}*%H{MN4L!I~jo9!;8@ z;w_y~D^|UkHDlKnKp#C#+k@?vxO4X{UADJx4ZC5t9uE6}InJ|@dlBW1x$_Oh*X3(I z9c=R8!n1z{uD!eW2mzZX9A6u{`RnMls3*_9{deo|m1CDLIzM;)`2P3vzinTC&(Zf> zd;Y^xm|@murhQ_jSy!2CVz^zJ3BDPkhjL=arF`||+1{Q&cIc&@ zW(IoZn}n)K=b>$~spyW0Zpmk#kp2niq;%G~sG*FRm87Da7P%p%mySwmsivNaYO1QP z%4(~wz6xusvd&6tt+w8ZYp%NP%4@H_{t9fc!VXJpvBn;Y9&ED8F3W7Q&OQrmw9-yX UZMD{3i*2^rZp&@AQxyOJJBjD1wg3PC diff --git a/examples/topics/data/PT_Shifty_0012.gif b/examples/topics/data/PT_Shifty_0012.gif deleted file mode 100644 index fe81e42ace687cafb3f8ff8991403ff7c6513642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 877 zcmV-z1CsnlNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+vbh#WpULTVVEt4d)b6_d4QJl>bwE9@7vR?hFj#nq zc-RK0lr|`s7#S(Yh~(%fnW>0ZdE}-ET1eShL>Q_$N=k%zDw(P(#M+wp3i~5Fi&$&h zgPSYL$qVHByDO|ioNIiHlRUf3Y~$Pt9ZfTRT5TF3zhHKw|_ANCal+QVGnf?hgH0o@!o28BX4*}S*_*Elam^ayEy}9&u|5Y&e|CQ z=+mM(nI6lU1EtrWNym;b+i~Knw@1QNO}jVn-w$XCzmPlg+2a%e{g3>fpoMb*wTG|m}8c?T9<XlffA$e#6yi=XZGK$=;p<_UY$> z5e6zKd1mUDUYpkqsT-1xHR|Ay4HB9tp@q6<>4$e(T4|<<9$Me0o+>x$bC8ZmYN>;& zYG|fB&If9!(40zOQTWAbo~?c1nyZtv)|!^0t`19VvBn;YL2R3i*LSG6aWA_ D76`hv diff --git a/examples/topics/data/PT_Shifty_0013.gif b/examples/topics/data/PT_Shifty_0013.gif deleted file mode 100644 index c8ede5df6ca24e9d3ea110b4de5f9cc9026cfbed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 877 zcmV-z1CsnlNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{C+(E2JlqkNn5*e zi<^tO%hKx$2^_34OssoslI*+8OyZ0S9WAn2sBCOq5-UI%FdKM!%H14(+L#{xon39- z0nUgX*?tJ$ttp7Qoq&ixLY_TM3nJA6_(7lnh5qOnLI~nuyJ8AD-Gk^sqQ(Ax3lmAi zs6peyiXI7q3~6#819=}$UPw8TCD_FN^`z2i~_bc7F zcFlHN2cYdEWhldp=27vD?#>OU7p1I;UvZnd#D&t$1SZ*_-(aFJ1Nb?#95wDu2x!x8iMg2}hSM zvUaGAxWQIW{dc(O)heMMZ|;=)^yTNflm8z4JbIu^scQ#D3ORkf;Qn9ZCl48a@wsA< zJ~0Jo(mV>TCtZ2dLxe?$A%-LASDAh2WTN3es3G_tgfkUYVQcfmR?>kf zD!AZ3DXIu#PVkXf;9}$4HsgvgIwsy;`R&Lekw(tfVTcYfG8vN2eRyJh3i*LT>761S{ D--^BJ diff --git a/examples/topics/data/PT_Shifty_0014.gif b/examples/topics/data/PT_Shifty_0014.gif deleted file mode 100644 index 1f141376196dbe633ad159786c61d958e45cb2e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 951 zcmV;o14#TwNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zm==(+nAj2k*;o-BAbxZO|M|JCS8Q~YTLFBNn2FYWO?mhUVjS0Hc zqLEHwBhiyQuDIn-C&sAHNi#xtQIaPyc&3#?PADamZSFV`oJ|qwA#UZEvtv(g>c}Qr zdyeU1jW2>Z4xVG8c&L`_RP$$tBl5zA3ux-q-gM};AK zD`00S3oUK9QmdS^*k(H(V&HDuz_a5TRPMLTnu%Dem98b*v2 ZjB?5Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQSqT<^xshqff$3TC>AA^y;RygBnyR{ri8@L;VS36+8*u8{>IzGd zi+lSE9DJMmy8F=EE36FMT5Q}vY`Z+o{P_%_3ZT8s-R;dSdL1G9U2d-JEbfqe-ma@I z!4B@;oer;%Tq|E6aE~p$N`O9Z_WT`aR?q+|aQzHI3kM2WLx&3>mXh|4Vgmka7$j=M zm++X!j|VxHT$e2)Ns9tmB3P*Mqs4$AaYZ9paucnMwo-sMx9xe8yo+$8pb^NHDuGI9h;v0y7ubZlCh@l4V1UYjEb8I|Jsr`Y=5j(kxivs_pavpO#S9t zOqMUJdy6y2teu~Ax=%GC)O;QsSzX#ybBeagCR(4suSu*Pf1!Iz@cy$_cg0X^!O6!R zM&CqZlXRqvcOFJd0Vtn$_aIatep+dzAb%J}2pxgjN%+}@1hxlOfdKAT34&Q!#T|qV zTE!KM5mwkCgD@J$B7^ynBa2y+wMY~{5V}~OZ8D}*4uwOaNXdOj9$4a%MegPwk4~1D z&y>>{s3UaQJa{9H0e-nudiWk^*L? zVzd}KyC;}}N;TGB%{t0mw~I-Xq=VR&_T-q;id&e4p|NY3h49WxZ@u>3i*LUA?#pk# z{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#1c*v2 Id_@5OI~HZny#N3J diff --git a/examples/topics/data/PT_Shifty_0016.gif b/examples/topics/data/PT_Shifty_0016.gif deleted file mode 100644 index 5bc583f0a6cb22f2372f5e4002da876531223597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmV;G18V$7Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQh5E}5wA}UIn5(=;i5UOAbYx;VMilEBcI%*Kh z8@uaUD{za;i)&0A%Swwnyb5~^eQb&x+}s?EjT}H-dwZP??z}BtJ^me@?X6p$i|(E) z8!SBi9v(0MdtPt6jDMisD2 z$Wg+_dATCa8z~HeuZk$;IRv&~rNwd!1;#|U@f6Nkut-k4s52k~mbzFnj7M)KNdP5{ zf?PICY1C0p{oS+Ha%oeKN1={m`qQ9Cs$8FzJP9^yzMAILdaByf0miB>%dUMe*KXaj zcjfk@%kF2$1bO-H6|7X^N5I|m4knD)aNxy>B^s36*zjYqm&0a8?8h|>2o30hpu01<=%(H=S*N0mlbx!KVk59WCHup>b(_z<8|v7kl3Z&KJ56Wlkny0q9 zY?Nl63Xn-+T|4c9IUR|bwthJom$(g-Yi_#guFGz_?!F6eyz3i*LUA?#pk# r{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#1cVj4WLYeSK|woDIyKOAda1J{|2D{EYsd z&ArafI}LvyKA-H4fB)MmU{$|?umB#gHxQn_aS4qf9A?mfGH(FB{JtSGjXV#-Bk#wnj~I z>3vT_noF&E?d-ZM(&Zkbo23g?taJ|ll9%`)zdN#epyfN%KqO^rw3bb0=nj& zGr%S1PHhH0W)W)R*|n4@!@bj>M*nppOMiYLw;y&9g2rKe$-#D@h5q?P9DYCD7vM7} z@*`G$4^Ft=W6*hnUU>{YCs0K?QpRJ3MGY9=CDwH~UU6Wpm=28HEO#Ma+yzJ>j71tb zC6Y7NXycYQLYbSFO@hf@H{NZ>rHtJ{sb!2^qDiHAZmRj@fK-0>=6U?cxf*qFim4)< zcLF*mlhU18XPSa~m}PX`cr~S3NhTO2fZc^tWn7hF$epBzV%n#lupxRKs8`AtDW9fl zTGClbe(7ARPU0iysi-#O&!(K>s*tWy()!$wVb)1wpb>3HU)5%@%KBP-%R>4n13i*LUA?#pk# h{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#DEk406VS^%pCv# diff --git a/examples/topics/data/PT_Shifty_0018.gif b/examples/topics/data/PT_Shifty_0018.gif deleted file mode 100644 index 0b99e37279b596abe0bf9398bab0f68632b2c6cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 907 zcmV;619bdHNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT59SPkjjy&dV0VLivb&Z$_jAHYGHc| zkXyRT+Z#ZU8XVj@T5OCv+w8o|OsZ_`Tx}h2Je-Wp`wYEY-K{M;4f}omt&AM1K8^mK z?Mq(l4sTB@ja_dKzrGF3@7_3500X}B_lujsegg?Ayao{#;lo?J1l zMZpj4dIGw-nXt}0#mPp;Ia}?{`=~kfz1#QfbGfqu?mWDrxa7v?B8Tnyw{E@9Z)4r3 z_O-%niQ`?~{`9zT&dT%qoO7{j>ub$J!YaKgZ8Buk**C39@bNu6+d(n(^U z+%*^^cz5FI=bsLCnNeGVDhipJYZ3}+Ymz!QD3unr)+myiy5m)+OKM6Ws87nckd1-P znJS;G!YGleg2MWqmTQic)QE>7YO4dLHtMK+zA_4IsKgK}U+Sg9t{U8-zZQ#Z1kXaN zECbUf+pD#l0;^TE3mD7oQCmIWVNK%>dv3TYovLoT?!F6eyz3i*LUA?#pk# h{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#B~$^06TVT)zkn0 diff --git a/examples/topics/data/PT_Shifty_0019.gif b/examples/topics/data/PT_Shifty_0019.gif deleted file mode 100644 index 7a9217ad371e7adc673b117c02b97898195e04d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 892 zcmV-?1B3iWNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVdKnPlv6_mo>Z%b-iy8|6AbUZZ z8*6%t+xwtIfAA1g)4^ zPpoe9eM3|Ubq#-c`P zrgQ1(=FWspjjmLf^OiGM%Y0o;nsr^zVq#r=MJdY~RkBaLos~%tCeWdA+lmy*7O2~V zZy)BQtCK5Hr%2IKthH@0VW^#M=9Rl}tYfg$K-S}H7i;B_mv!|GT3Bnxt%M85Q%Be1 z&tCAb4pd!k9Ai%Uvdy!6&h&~ET;lDu#=Y5U$>`lrITE^WP?D4i9hu)qG>@mOZz0@YS<*yiPu2@}KPIMlGw|_chk>??MJRk+sRO=>8yIoc`Zy*EuKJ zYTB*mUSsSbXq$R#`9+{TwVC(eL$Jm69Di_K$jf$r8P-pST?IJNfNlMUp=#&>nA~ek zjn~_4#C?boi=D~09CPx8BV%(oVMou5IckF3j4cNDqm4i!xnhj-sbgJ}>mkS^le)zS zl3Ye-w; z(MhQmj**r1ibbN`*j1Tk9@is*iK5AncxzUw=B1bp`sSvVqQdBRTZS1QY?(G$;R3h~ zsUW8iocBs;G`@Ohtg^By>#Vxr3hSf*{K_k$wia3evBL^GP=T?rDk}lAzUn&6uh6=N zYiZTemKg<#O{$?ysj_sft>TVLZn@^3i*CB=uFGz_?!F6eyz3i*LUA?#pk# S{{9Pazyc3UaKR810029sc-KV$ diff --git a/examples/topics/data/PT_Shifty_0020.gif b/examples/topics/data/PT_Shifty_0020.gif deleted file mode 100644 index fe8fdae31cc91e8473a390c35f20334698dac939..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 854 zcmV-c1F8H+Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!LMg5HPDzTYGy^ z3jm;tkSjb)9Gq*~>r1@M+$>z0%w}!SHtgA@RUkCnf67yl? zRgvSuc?X_Z9A?1W$5ARvqGZ7Ap~sF2V=8DSljK5OIBz~X){>^Jo(XUU-8s~mOJN#w z7HkL19YuNCj?#-tRVq_|I<1m2>2zSct}}%iJ9jNB)`&>YdaTFPRZjhtwxhDC z&cdzS2DfiKw0rgXB}@?UQ%{QBq1#H(aAL8CDeL@d8S*#HY%^BICpa?Q$^H<=lbqHr zXo#Xcryf_j8SK2S_nO8RyEA6cwh`~0Ez)!7&5mI&?lf`P=H9rEbK;ho>TAee0smed z*KYCZ*3S_u9sA`%PZ!GFYV~Z2ch*^X-9{3=HWBo{2kk2`om4Ha9Qe=|Ep=IPI5(2p4iGNi{ zrHR*(NF!@i&c$Se=};M^lo!6^Wtp1Th$fU*mKYFmtFU=qhF!`hmYSKksnAJw!WpHT zb23DMpkea(KzXcyIf0^s;s^nwhXTN*pOoskW?&Ua`k|(Udiv<4Z(3SuiE45x*{Ps* zN@=MLILfN17L+$CRITa>>x-Cr7ptrw-CFA>`ejf|r+pH8Dr~2_EX!=O&OQrmw9-yX gZMD{3i*2^rZp&@A-hK;ixZ;jWZn@^3`$_=-JO3=Qi~s-t diff --git a/examples/topics/data/PT_Shifty_0021.gif b/examples/topics/data/PT_Shifty_0021.gif deleted file mode 100644 index ab36afe0ddb3ff6048190cff3699e2a9e80f6da1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 841 zcmV-P1GfA}Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+v}?p5KIwFTzo*BS{(48-0UoD8VoS~{5*Y)T}-`9Dt%o|j4eJ6APqh09ZtT^{*Bxn zQ10DMPyP-cU#~xYj=%r!4%Iw>*^~u5H80;ccHr{$gSV|=!(;ItqN}(}qB8!9!qRao zWiF$!YUKosH0kgoK9SAbDU`R-BSK`(7$!6*Zzj!<+X{MAw{2!llsPqOD=5?`xOEmo z-BgN`pUR6;2QmeUG}_CETcyggH&v8Xm|d%uZ3=2E%z8(~q5Y&5D_4wh!#X`1(x_CS zW(_WV`PS1|s7G(|jYzhoONBDEx+F`l?bpDao<_YoFeG1+U?Kaon>OWVvui(Z23+%} zRb!67F0Pr_?LCOD=jvUYbSq(?tU-#NYdaZI7kBCMPcTciys#Cquv6 z)4E!p+ChhQJv}l{<;yX8wn-PGK+)mbg;PhlvT)VznGZe9ST6j*-u}OX&AeY%@yUl- zdZ-E5A6(RFBUy6?9VXj$h{>i(T@pGNR5Ey7DA#=ux>H+KduixZh!KvsUWq1FmsN_g zf!G&n6>hkleHpqa;#Jw*h$BFX@%Z6C4Gt(6bp*B8Cz^&5DyW}-4$7z|iB7;}q?epo0e=u4T4K1poj$@Kl_} diff --git a/examples/topics/data/PT_Shifty_0022.gif b/examples/topics/data/PT_Shifty_0022.gif deleted file mode 100644 index 98dc00b573636eb2dd2f3e18ec7466e3546b9166..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 886 zcmV-+1Bv`cNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)dyc?hp&>YA0N{KPe3_ z?gXVYBRGy4k(zRPlxR(hL#bB9nXTm0PbWo2h4`@J*p+G3hV|-E8^EM#y=p{TmTN(u zMwzbuHU?!Bddg${LmxaL=or55-7X_)in%2DkuRqT^+ zX_%59cTVjWbXdQr<+fhkQnls1wsp&1ESh&~pg(6HtUdfI>x#Nl0gnxrIqlk>V=9-P zm^y6LJ!1=IJDm8-+1cqXJr5SG-mX=z%PhRU>-*JP=Q@Yq8^3t_$o^&C?CzKUZGI_1m|2b#r&~n2Nr9a?@>z(S zWVW~`o$L@Qh@W@jxuceIRyc^Fhaw6An}S9P=%WB^iYAPka%!fYd43unJ*0N(>8bGq znTTUAvbiRF6oGoBn~$Bj<)Wm5S|6%uYRTfKzUH%QvAYiYN^7z1mD;GW#v-c+h^lf> z-?O3i*LUA?#pk# M{{9Ov9t8jZJBcE<#sB~S diff --git a/examples/topics/data/PT_Shifty_0023.gif b/examples/topics/data/PT_Shifty_0023.gif deleted file mode 100644 index a3dd7f38c56348293b9a09a43af3a23672b525f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 805 zcmV+=1KRvYNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doa`IGjL;m+94-C)%M36ba2)^~4dDH)&5b<`Jx;BRp02*m-d?X`5Iup{V|72QYTK zSdUyOj~_33n|AV_Mo$(^rX(rt8%F^vIaw?Ta$-)I4M|CC2{PwLY%gbyB3d*XxTQjq zn(EdPB~x%n|DBSU(&f~oO07O+*cB{Lrd5rO1e-PH)}TM}T^%Y`>DHKSQ>ksc_N6wE zcHsui3pH-vn_U&X6%<{W}+B z>9eO#k5+w|HQK$j$-=G~imu_>m2bO!+gd8;!k$07#yK2uY@c!SCO5g7Icn!zC91+p zohMO|n6rDY&Rq0&=Z*?oeQ%)4AE|w=og_{1Ncgq8M?Tqn^%=yU zTR07PNJ;XgL;-!j9r)WK3hFbKc?meEz=VxxxIl#w(!<_|`^jY?AddM{Sp^t&7@{I4 zqR5kqEi&+8f-};1;{-KkxFaDw@|dEGF~SIuAwOQ2qXb8GL>MAVG8trpB#P)vSWZp} zVw5^2i6nzI4oPH*K!VAlmqubKP+=E1Nad4%tjMC37-nO6$vAqRx6C8i&Xrq;ou!#N_UmK#)B>9Evok&r$p; zR(tvsAxKkAOX`D)H7V7rC_iG2sxKQVt|je>{JJli*;Q)Io~?&gW7nmm+M?WtHm%&E zMnBGloAoVERc-B=&1={#&{Bl~Bi5SA?pefO|MLALnet|nIDSo zTQO3{L?;VxF}d31f~V23B_SfhV(wR_0ZZ2EymsR2f89 zog=qtCMAPhlBnL3%XzS6mXHwFqz2?svStWFUGio+a?VL-op#=dXP$cQ$!DK_{t0NH Pf(}Y(p@tp`OaTBpa)xt+ diff --git a/examples/topics/data/PT_Shifty_0025.gif b/examples/topics/data/PT_Shifty_0025.gif deleted file mode 100644 index 0107f470c8303002b369ebecbeea83ac6f966e83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 667 zcmV;M0%ZM1Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFWD91xJ~?2H`!JT1+Povppi-R=Di9xgskUjB7`OdZ{9@};j*tdrR}Y`ds{3)vMrS?=JjlpQB_w0LmlnQJ+B_KY;I zU9>DY16Fz(vue=^`u>cd7b)t>e^%dIi263}-2{iqR^%IIaNY-!H$Ui^c^|AiodaC{ z8+dBu#2r|d@V$2Q?1HG156{m$&Fz7^uV>#AyK?x4%>PC|d@#uIi*7D6EPfXTz7^z? zbbI)h8D$wqGDGd zgmzbn^)blW2T577R0%?1VpTpq{s?4{LJmn}kwzYgWRglQ$z+pGJ_%)%Qif0f06Rg8 BLrwqy diff --git a/examples/topics/data/PT_Shifty_0026.gif b/examples/topics/data/PT_Shifty_0026.gif deleted file mode 100644 index e05a139441e7ef17b3fa7d7278f8cafd258aaf32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N;Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXeTpSS494$RfU2T1hovppi-R=Di9xmPho&5Zad|p1z-tPVm zA1{x+o<487j=rE@Ukk0z;GBSd{saazmt>i4`Q}2-6V&L>y&g=v)# zY0)UKdOZra@(kCgSznD^x(02}gI51FjkNM_wzzZCXuR9_AKx~R2UmXE?`+EaI@_*8 znlOv!6axdwe$w*i!CzA=hB|x$`0KrkS8ZK7~Ag%)0jVTNH8002Ax0V;9; diff --git a/examples/topics/data/PT_Shifty_0027.gif b/examples/topics/data/PT_Shifty_0027.gif deleted file mode 100644 index decdebe59c3bd66f1352af58e6a50640e19c2ac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 539 zcmV+$0_6QiNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di&Kn>wjyzr-p02*m-tPWR zzKjk}UvGaDFmIf%oUgCIZJQQ@MLJaw2 z4h7m2haPr<^?GvZo}^?!80E>4>m9cLR!}?;F|J%W zRgeD2skCmJzJi0Ol-hO;VI~XHCPvfr@e-|w{f>!jc{19qnZfLxLK!jS0GzV`mi* d96R%S+`D`K4nDm2@#M>!KaW1WdISXk06X&E5Rw1@ diff --git a/examples/topics/data/PT_Shifty_0028.gif b/examples/topics/data/PT_Shifty_0028.gif deleted file mode 100644 index ec2bae766266581c14995733914d50de162db05b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 503 zcmV44ET@UNt8JHkp!et=BaZOF1}u z2C1mjPE4mnLK1~Db?Fh4K;x*Sx`gXhHD9$d5jyrv*(*YGl090bEm$#YwV*ZYrS6uy zc3ZAUk@`Xd-iA8yJ4p;O&Xr?;lzs@KaM=P@^=LQ06PV``q=;g diff --git a/examples/topics/data/PT_Shifty_0029.gif b/examples/topics/data/PT_Shifty_0029.gif deleted file mode 100644 index 67d14b168e0097fadea6dfd02dd608bddc8f567c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+UkNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGb}5TK8&-%s2h004k}!T<^+7)+nQg9v{qWZ2NxLx963Ms%p~BF2@08YKqw zSBzpvk^eFVFlMp~z>{ZEa#`8Yi_4b*7lITsbIVGII6ua`Vvr+CnKgfEu{e|_!!j0$ zE@fJiqspR5$2^pJlxiBJS)Zceip6AAGgpl^$@w+vO)6;9+BB<#GIURjwkjl!5vX1;0Ik;=(7I9*QJ*|H~1CqCUA%=we0QIb}M muCXbx=t!g^m8z6l)gV@rR%MJ&QI~0RTH%^2MD1 diff --git a/examples/topics/data/PT_Shifty_0031.gif b/examples/topics/data/PT_Shifty_0031.gif deleted file mode 100644 index aae6bfbf3056bab3a06f333e822d631c1cbb0a14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGcq%}EWC|4?Yv|CJLI4qqO{_@l;zBWr4Us|g x*zsXVju?KT_9CPwCi7=?pq09;Z06UBuv26eV diff --git a/examples/topics/data/PT_Shifty_0032.gif b/examples/topics/data/PT_Shifty_0032.gif deleted file mode 100644 index 7cdd3561b36c372b505e46d2793730207ecd9152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 333 zcmV-T0kZx_Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$w}(2%zj?vWF0nQH)s8qQoDG8INt$ f*wNU>hWkc}3|Y)%N|eM@uEfZZq|BN63IG5*r_QX0 diff --git a/examples/topics/data/PT_Shifty_0033.gif b/examples/topics/data/PT_Shifty_0033.gif deleted file mode 100644 index 97fc0848036679baab1dd7cc79be10be763c50ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 323 zcmV-J0lfZ4Nk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@ydUq0;~W diff --git a/examples/topics/data/PT_Shifty_0034.gif b/examples/topics/data/PT_Shifty_0034.gif deleted file mode 100644 index 85e71dd53cbca4beef5341d97adda085627a43fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmV-C0mJ@BNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@ydy< diff --git a/examples/topics/data/PT_Shifty_0036.gif b/examples/topics/data/PT_Shifty_0036.gif deleted file mode 100644 index 92bf1c3dacb75cc32075884b8e4037eb538d016e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmV-B0mS}CNk%v~VaNc;0HFc^|Ns9000960{{R30A^8La00062EC2ui0LTEy00091 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@yd0suR~Kb|rG diff --git a/examples/topics/data/PT_Teddy_0000.gif b/examples/topics/data/PT_Teddy_0000.gif deleted file mode 100644 index 2f824d4aeeccb04c36ecc4d72e60182cb38adc25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 305 zcmV-10nYwMNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7)44gkQPz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajR+h&di)5|Qvm=w DC8n8f diff --git a/examples/topics/data/PT_Teddy_0001.gif b/examples/topics/data/PT_Teddy_0001.gif deleted file mode 100644 index 08badda941eaeedfe77aa936a98731375f6d705f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 309 zcmV-50m}YINk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%sX;01V4G9`l$Cq{fl1 H3IG5*y-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%sX;01d}D8t_;Qq{fjX IzZ3ufJ60&0kN^Mx diff --git a/examples/topics/data/PT_Teddy_0003.gif b/examples/topics/data/PT_Teddy_0003.gif deleted file mode 100644 index ea92ccc973f4b04a9b0e7ebe764c1b2c6ff39360..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=SHNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uup01d`C9`HyEq{fjX IzZ3ufJ6c_v!vFvP diff --git a/examples/topics/data/PT_Teddy_0004.gif b/examples/topics/data/PT_Teddy_0004.gif deleted file mode 100644 index 4bd11209c90bac25e8732d0f3246dbecf69ac99b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 315 zcmV-B0mS}CNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h>->W020YIatyXHK}ca9 Nmwn8LGUb>806Sqlos$3n diff --git a/examples/topics/data/PT_Teddy_0005.gif b/examples/topics/data/PT_Teddy_0005.gif deleted file mode 100644 index 35dd95adfae84b8e2a466db8570217a961e36fe1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-}}Nk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8Lu04#h6F`~qY6f0W1IL2YJh9DY&HB7)USV)i^ beT_u$(PK)K!%i9~`O787nKWyLC;$LEVxFYx diff --git a/examples/topics/data/PT_Teddy_0006.gif b/examples/topics/data/PT_Teddy_0006.gif deleted file mode 100644 index e0311029200c658e38c33c00db3f7eb3003f73bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 339 zcmV-Z0j&N-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a${9z%qphp)pMMu%X0>6f0W1h|yofVJZv(cr4~oVaScX lMg|y3l2^zBCV{m)xzgoF1TlZrG;p(5&Wt>J`pj1V06R`etCIi# diff --git a/examples/topics/data/PT_Teddy_0007.gif b/examples/topics/data/PT_Teddy_0007.gif deleted file mode 100644 index c64d4f836d3b4275c51d782c2d7c4d3249f01d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354 zcmV-o0iFIwNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!anItTCy5-VG4dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6K1tgg|86k9 zY)_xBzt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlaUi~A6C(xyP|+Ahi#Z%Sdi)6TTE<`Y zFplJ95GCB^mlR{lBxaLlF`Y4S-n_U{*w1<=bqx)PG^x_1%?bbjI|3uH A00000 diff --git a/examples/topics/data/PT_Teddy_0008.gif b/examples/topics/data/PT_Teddy_0008.gif deleted file mode 100644 index 3ceb22ee764c6271e9aaa4e38bfee3b71a8ef574..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 390 zcmV;10eSvMNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UhC?@Cp(uTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-fm0V z4DUWKE5B?{pRd2q-|znqFrdJJ1PdBGh%lkTg$x@ye0T-`K4cP!RE#$fqDC868GT8# z_mSAgivmW91Q39v#FQO#tz?N{B}tDcXO^tl@|H}HID_p}5K@@Q1VMckH851@(W6R3 kCLK01D#fTap;E01>?+f&RBsx4x-qQSv1H4dMNz>% diff --git a/examples/topics/data/PT_Teddy_0009.gif b/examples/topics/data/PT_Teddy_0009.gif deleted file mode 100644 index e641c42d8eee76c93c955b2192cc44643ae00555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 415 zcmV;Q0bu?|Nk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+Uhz7@cID|E89V9o2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm ze_0DXA75SHOpCv)Z}0yPFrdJJ1PdBGh%lkTg$x@ydM`Yv|d zu+dOR4ITH<3UF~kMvW&|>O+}Q!b+9^0>JDD(-_W|Igyq8n5^VYWj}`=D=DDm$YDT} z)|?rvsR5)O4GH?Q8k Jd@mIM06R>)&QSmW diff --git a/examples/topics/data/PT_Teddy_0010.gif b/examples/topics/data/PT_Teddy_0010.gif deleted file mode 100644 index fcf8234bdff7e61118d5bf0bd4f78c93b92bcb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451 zcmV;!0X+UkNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+Uhz7@ah3T8!Nj}YkQlK zyX*T494tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;ouUAVQt6Pt)AALXlPg=lz1PdBGh%lkTg$x@yd-8ptIP7{&#Zv;qX6 zRT03)j2%Z3E1B`4NRY!ivg9bzWH6K|1<;)7vZhLzziv9n2}IJ3>Hcpi~2&b9+PCgNvmq%GZfOy1;jnrkI(`f}vgFB>D_g#dIkV=?oUs%D06S4{-T?pr diff --git a/examples/topics/data/PT_Teddy_0011.gif b/examples/topics/data/PT_Teddy_0011.gif deleted file mode 100644 index 0a66343cc979421a5be8254011dbd822713d322d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482 zcmV<80UiEFNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UolH2mk=vAuCI}VLOYP zq08HA`zt(5Tx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUtc!6OYN&4T-|RkARj-0()LX=c<>g$g$x@yJg3kALS+VZ5j-XmT$OQ1tT zGBt{`XjD*7B_v%iwUb2*R~2NnQ1#E!unxX9m}oU-AeSV;hHQIQZ3MGxPhRMX)M-%$ zWB2Yso3^G@y>7Q^#Ve8UUAdY@0%c1UmScr%;TD^GlJT#Zg6*b+>=z_pXPO_HK8-rH Y>eZ}UyM7Hjw(QxoYumn!+g;}D|?%f ztGj#A>-$R)JPd4WoUFXe-0b`e9W6agU2T1hovppi-R-S}tR4PMUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-+$064j?vL<17?hCD4E{2)SkzJlLS2F^Lfp{(D97K`j9D6fLIm z7%>0uU0>&Y@n%N+sErYA~#DpOIY~7uMad zd0jbGC=}%crkwuf6xla{U_rqWE8fa+CKy78nX_BtkR(v1;e20R?OXwR8q$L#&lc}VEdliRJV kmb$;~+`D`K4nDm2@#M>!KaW1W`t|JFyMGTqzN-QNJMpC!*#H0l diff --git a/examples/topics/data/PT_Teddy_0013.gif b/examples/topics/data/PT_Teddy_0013.gif deleted file mode 100644 index bf83cace628d57f160808c2c46b855af71100c24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 566 zcmV-60?GYHNk%w1VaNc;0FeR!|Ns9000960{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!L+u5HPDzTYF2J zYr9*~tNS|<>^mG$d`z6H-0b`e9W6agU2T1hovppi-R=FoU~8Ps%smc{p02*m-tPVm zA1^;oUvGbppPx`%9?k#%?4K|J!IULq08rLJ2ekkcgq6$TIfMZKNF10-S44^b%Pe9< zRm|f=h80Dw3TBaGN0X|0rBo@QA&Dg;7Y5>&A@*9^EBo>h$jj+#3V2Q5LHU-XZ@;-U)6RqRxdPrFB1*>- zJNM@f)B$zBF?^6{edNoVKaW1W`t|JFyMGTqzWn+0>)XGNKfnI{{QLU{{|{h*OcVeB EI}OVq3;+NC diff --git a/examples/topics/data/PT_Teddy_0014.gif b/examples/topics/data/PT_Teddy_0014.gif deleted file mode 100644 index 5cf39974a51a6f6248aa7a6e45db84ff2feb4d2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 607 zcmV-l0-*gzNk%w1VaNc;0FeR!|Ns9000960{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J026A(a~VQY(P zp{vVF;rk0LA$&_5VT@etyPQ1i94$RfU2T1hovppi-R*sP+-)3wt-LKPzWcq--tPVm zA1^;oU+*~%9gV+Fjw=iRFknDs`CRD|I4}Uhgw0<0TKI1v0CcDt9)xHMU`C1m6V-wH zwGm^-ha5ecGFDRIIF21tWekaNA4`*@NT%ec5M#xQ5^>s0xD%#8nhS)s{FqbcGlWD( z89lmmXuq0Cr3S0oRMgX~3}A8vwRNfkuVS_G)L6DF*0iB)el42xEm)Fr6NIdLPi0QL z2JW&o+Yu-;!7g9M{fl5@!IOK}4u;y7F(b(`mbo{nb9eGxo>UxGfW#?HgI?;LAFvo|e0@wTl$XVeWv~kM0N0IV={m z8v69H*$EjgxILH8L(F}Kze=!spyUE5s#o#we4O$<4$6mPKYEPn>znT|ct6N}_6$g1 tfd(FkV1f!R$Y6sGJ_uoi5>7~Ag%)0jVTKxR$YF;beh6ZSB2rNR06W(4DYXCq diff --git a/examples/topics/data/PT_Teddy_0015.gif b/examples/topics/data/PT_Teddy_0015.gif deleted file mode 100644 index 2389da33300a5dff1b9aca5d50fcd2fda900d104..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 692 zcmV;l0!#fzNk%w1VaNc;0FeR!|Ns9000960{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0Ys}yisdvUv) zTd~XAEAa~e9PIG>Yy5y*tjxe1;0%#0J&jw9ovppi-R=Di9^My?K+X+)y^U_JJxt7g z9suwT&RkC|p0B^p->-n&ZCyHN(B>JmX8>O-W(FHJw5PCCF?S9tIs`V56grFl94+!{ zHtN?xEX(uzMj z(ezo6=uV09ZZeb#m1@h8FP|pWx)teCrba)Fy(rKtTChpe20d67XjP9*51g&5Nv%t~ zcITcnHI{EVzk2}_E=)meT(gJiB_=F5@8QS^Aunc3)|X$(nU-?y$+`2>&zmpj9BumF z+|Z&?PXL{IQ#6`gV^@ZIjP;?Jt9!rp{R||fz@;P9Ry|BNA>x0R6;D7>`5@TQQy*6i zSGu5e0$}IPz5p7hh~C3L4{lrZTIiN*mG66=mg~y#-SZ~rRl7!f@8#-+@6L{R8blNb zLLmS&Ac26aWFQUb7~)oh5>7}Vgm+PhVTRfL$HrS*eF!2{`K5P zzBu7vToqDVfH21Rn}UDPM&b)P`oZHj0tzXdKSmyjWRglQ$z+pGJ_%)%Qcg)_l~!Jf aWtLiQ$z_*behFrnVvb2>nPvh~0029)pi#vD diff --git a/examples/topics/data/PT_Teddy_0016.gif b/examples/topics/data/PT_Teddy_0016.gif deleted file mode 100644 index 837b6e5330ef10efddc4230d25f4be7800cf6639..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 778 zcmV+l1NHnzNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTPp^DYioha zo2whq+xrW_8xRaI+;A+Mys*sM%upO0ExlZ=OpU$G-R=Etg$yok0PX$k%Z*OH-5X$R z-i`YX&n^$}p8h=#4_=Pn&!0Ab|LpB!Mob^6cn8)oOn|Ty!e{jIJ!=?o)VyW?6+2eE zCSapMQ2g9^Jc%+`z=Z($p?vAlox)HeVcI-7P-C&1JU>39>C&djn?FegeR-_sOrtzY z?i4!m)6tY7r{av-$!bh=O|fp$+HqZ1mR%_l^{NT1Pp(kOo~_psAk3v%<<7NBPwh%k zdM#dsiZ)Z6+kw4#76W;_ZzcV4VjiT|1A zFzNK{+Tn^N9J={$ryRF)AIjZ4^FFDem-pLs`d#(W@wlHn6rNJKV4s59By=BD$$^%b zPXd~!NPt(3hnRj;$yeVVqumCcgGlj5pm%X4Xqs8z>E)DTPH}i)ej19H;e{mjwBT8( zu^1kJDZ)r&jS=cGSdBWKwc?IG>UiUDGyX^{9(YBEljO-|OVGn< ze*TG}Kzbe&C_#!Y%4nmGJ_>21l1@r#rIucbX{MTP%4w&behO-+qK-;xsivNaYO1QP I3Q7S0JMM#xiU0rr diff --git a/examples/topics/data/PT_Teddy_0017.gif b/examples/topics/data/PT_Teddy_0017.gif deleted file mode 100644 index be36c20b1953db97bfb2857816bf388eff60a11c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 853 zcmV-b1FHN-Nk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWhNakPC22 zp{py9%lokF3mh!WP#pY=tl;~6+?)ViEIrL!ZG8=`oy^>Av5OE5{>xoXoox*r@Qj|@ z9?<@+4KFWGUk`APFAi>Cuiw7|0p|_$#V_A1dhGhCyOzq`Gl%^g`Xi`NRJwit{N@$( zxa}e-dmj^)bciwIr+^$gx_pV!n88x;bius&a@jtWohIV^dCw=gPzZq<^~iB3D4Rx$ z-ejuO6H}ZUe?DA#(j?2NFnMyy8Wdr}r%|Q0?79(b%u#A^u4Q&)t=qPt3fzaP{Lmx=RoJx%{K2+iTSeh@|Jz;&*5N-MYwMNMUy# zX=nY{5`L=H$KXe%%?DONsj24Rftx)@AcO8%7@md=T1ek`5hgexA8yU3A%@>kSE7k_ zAqQfCaM`zESm~8ip^U4U24IKwO{HImNc9I*i+e~Y8j#n~$0Lcb#dcwmTlFX8bMH+j zrG->hS=TvOlII0y@2foY}?4!U5Nw&B^GTiRJyYO1QP zswR}J8dEAjtEL0Nm4ul3!(e{cwCO8e4g_njzz$1nvBn;YY_iHGF3W7Q&OQrmw9-yX fZMD{3i*2^rZp&@A-hK;ixZ;jWZn@?jPyhfsbauF+ diff --git a/examples/topics/data/PT_Teddy_0018.gif b/examples/topics/data/PT_Teddy_0018.gif deleted file mode 100644 index e2da21d31c687a945d8f4a3643b90045da20541f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 914 zcmV;D18w|ANk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfn8381Ts zz>B-E8!Wv0+Y1mdoNR2Xi+r5?tW4VsT^&3<9N?U+eT{8ReY_2DE4{0Y?p>VFjPC3~ zj2JKBtI(cK&LMobAE9m#%-y(t2MDqgS8vd>f#4bnYzR@t;*5tQlclNs!jRz;m@^W-Nv0O*IHP- zFzxQWyHRFNz7vnW9l8`HGQ?|_`fc3xTtKmh>+U@4Y%o*FD#vPm92v6Lz@8(6ma92s zw2-BXo~8+ToNTtRU0>GxmNn<6n6GLzG&Xl@!kHZ#{+l?iP~@hMr^dY(Gwr^&V_UDy z+_v-3fUkR}zCCGo?#eBPM_pbmTI|}lK2MKcd2!=qv%hCNp1%A0{HL@3Zx51v-mN#E zegXDJ-hbk$R@iE%EGZ*MBs!9 zkxoahCT+IbI%F)J010cswt9YatpLxa&}|^Zoa+j?>onl*yYkLUZ@u>3i*LUA?#pk# o{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#1c diff --git a/examples/topics/data/PT_Teddy_0019.gif b/examples/topics/data/PT_Teddy_0019.gif deleted file mode 100644 index c7125f6f26424383350f5c3b66cfa124b8c344af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYu~#E z+v}T)_$xe2D?ogVoSbMIknH?S93VYSEe(9gT&=y`4Bg8OPJL~d9nOtB{c8^1t607+ z4$$qJt`4tVTq}PcFTDNDFJ7Zr0qYH`Mz5f?UHTNF>$gu~w}BDwee)MjqCiIf1Oq_PPTgg21CpjqBC}2%>t&(7@bbKC-GK2Nj7RZxrIH)%!%@1 z$%=((Dm~5F>T0g7?_P$zSGG02QcJ%+iCcHk*kL>WCf+-AYP89{7SCO*MA&;{RIb~ zZHE=;-*)2Bci@5u&X=Eg4HCGZeB&hs9yyIcW}k(7&6FV_NQw5JeGxK~O^Aayg(8Qv zxj0XZ{i!I(Q^E<>7K}$N_f~`NR5q4}GrDw?QY^w)l#3~Tw;Eu{AxWNzvb87TY@o3R zBuo(Qzd6_O zg>04{pg87eXN^`$Y3OyU30mcgjfON#mkCWuDN~jbim6020ut45odWvlA9;@IP@;jH ziYj>%wu)(~eXt5^eD&2jr>uU^iYtJx_L^ycz@{qfuyht{EJ?_DCVQx^dhp8Zl&a1O z*v2 KjB*qO0029Xj?+N^ diff --git a/examples/topics/data/PT_Teddy_0020.gif b/examples/topics/data/PT_Teddy_0020.gif deleted file mode 100644 index 21084a4857308e0285c9ff764375e42bda67274e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 968 zcmV;(12_CfNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O87VnQS!sERnW?$S+3EQS8Y=n(FuDSOT54*78j#w9x|r&kS{oZ-Tic`RWmEz8ZW z{G1%Eer^Ab&fANhk1q`jPaLCl{fI#e7O>hle&BMMBiJe;!)^-qC3Hyd;5}OZ7ab97 zXiwv}Xxk=IR5j3~w|M{`egx@J+Gp{EvE@7aW-V^5lO zWkwFN7l>Yh!N;M00(Hj~m=>zE*NOxpC}L_ft*9ZJ1%&(n*t^ z54vZkA9#94TVzNE24{rGp@|@Vh4K+zjxGs<)0C6$QE7|8we}*En3XwTso&W$DnD|X z`lvdHjU*_mpT6>{PqNCICYh_=%Hx}&Zpvx0%5tdYv&J&3 z$F9;s811#ZQk#dh+9sIox2)=ethmb3TCTbG!G!EPae@c0L0^>^XuS3cLk&XQ%CT1| z#n9ktd+rX4LoW1^y925R@4Lzb2saFI#1c*v2 qjB?5U*f1K`Oi;~DVDL#pVBY6_9c+UnZ+kh+LE`f7WNo9h}- zdn(FXs|!3#Tx<+1ta?a$-0b`eZ4A&mI~{%P%!(b%_T*S~515ha$Z zcnsn=iRv~YOsEiKNOZ$SYWyW~-p6z9NC}2T?`@(&P__5@PNf+~^+qiM$u8QlvEa;i> z>BOD$9$jmCab>*wUW0aQdUomB4{!0--I}*WvRc;ycV{~yRl9N9QVSkiD&Mg6Ksuis zNcm=#hwG&d3cYIG;-WvBf1WS7^|ap_t|yHgb=9b%D;^&xe=AYjJ;j&*4G)@e2BCx5 zSe&JoA8d0O=39ZRA&6FVJFOO=M*u2_;e>w~xSNFM(exd95PnBrgdU2B-%2Nf7$S;L zy;dN9Cbo#(9}88cA&i@KSYd|qWP=uuJ$?vRZTA_XU6Jh>*;b8yXt&*u(i!$&e8U-t z<%agHC*)7K^;DRTc3EhpiX<`F(T!VPI3|@7ikYF4e5lzXi!-_y*k)$F=^Tb~?y(_S zGBSA+nIlq2C{66$<5!1C4yc!mFddj8qR|aFrI~*MYT2D{o*Ch$dW`1jr$e45Y96H4 zY3g-pl~&oHIc_NutOlCeUU8}35m{!q_O>XVl=&6ruZ3b1oLt77;<~FHViCFQHqF*i zVzi%5J4dzF@=0l)+kV?vrQiB?Ew*lK1ZldtNZV~6y{dbQCh&^mty?ps8yLMnz%r~X z`}*52Dxkz5@W2KijBvsVFU)Ym4nGWW#1c*v2 tjB?506Ubc>E-|c diff --git a/examples/topics/data/PT_Teddy_0022.gif b/examples/topics/data/PT_Teddy_0022.gif deleted file mode 100644 index aa4d8b34a4e6f1d2062f1f82942278679befa274..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmV<110?)MNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSZH{N zn5ekO*y#8O8OZ?vAh|j|6q zs_Xl!i`xlI?0dV*J6ycX-0Tcox|s~{9Nb%tT^x(3?0lL{OO1`$*v+hb?QJ?P%_-h& z4qJ`>4&SaA5B)xzukRWCY#XuD2d%9HNc zDNXuosWq8SZ{o}+Rp?G|=8^&xI!I0uRV3U=+%Qoetj=jmfzcN+XF7UeD`?K2y^5Aq@Uhp_yyL%cRK@A4ngFmU)8%+nAcbImwEr=Icw{@7`hXC3oqCX_2W}<`j zMRX8t9*RetVld`ZV|aXlxE?qb_M~5qbh+4@j)W|bs!D-WRVF5vgLeX0a_xSQ3eVrk49?gXmnPJ7|)`BAZZkZb3*B7p_5`JjGZ-- z!^^4bot2}IS^kmaprlUfsUNk*x)!dp>dL3By|NVPpOhx*W1A4Hh8ZiO_F#AEr(U9_ zAtHHrfuB_ExgakYl*v2 zjB?5n@f7@ zYIx~r8!S9b460f@9J&aMObpNr9nA|Vz%0EhZ7dnBO!<8MYu&sG-M#!>j*j^`uFmTo zY@W&u58D2Y@7ya(zdl<3t`x6g^7!4;rfZfxe+2g-V%N}L!hZ}aCUbZQqCSNG8q-1S zIE@;}c;5hK(>M|owQ449ZKIV;7&~hzRf=rsGMu}Y`4;-TxUwcmi8)cuEQzz=L!3D+ zN`$9QAu^@Dm^LMO?4nSAH?#eGDsbpYjD@ydEt>T#y{=X0*&FfcI z7bE7J3l1wfxL=1J&Fj`L(Wi;^@uW)VqtwP6c@ESHEF5BTZlk7+8;~*NLH~9heSB0f z<;9}~&D3h_GRMwuDYp(p(eY}yZ!OEd4JdVA%uopvwg~)>aIubI4Og4okL1qBg6Cmso4=T-7Q33 zeO$q}5p&r2v>a$Q-IpMAp8eDycw~{bo@vZ!qhN7vrT3hL+fBIPfe?nsAAk!w=${@c zHiivx^?}r49xock-bMk|QzITXqNP`8C7NguinATr9Cbu4rI>mXJ+tF`Cl1Nrc>>YM z#8R7>{mRccbBv|I@1ZJ3JC6%FyrDevYmcha4Q7gasW*?IW@mU#a zO7w_=(rubJvnDJGnUnj5WPi?R!Eyb?*8Cob}OrRo~kJjw5P zW9o$4EUZw_Z$bzKOsEN*ATTgX3*Q-1Bo8Y$aS)O$YUfHCZ_IJW9)ApS$RdwSa>*v2 zjB?5t<(A};#x diff --git a/examples/topics/data/PT_Teddy_0024.gif b/examples/topics/data/PT_Teddy_0024.gif deleted file mode 100644 index f0cfcd142d4aca0815dffb55c7fcfccb39d3ed6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1014 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 yjB?5Wj z6)Y4%c(O)<}?$r8t<62WReM;UP z^C9%0d=-B#Octu(>9v@H#?Cb9N$M@VuUyTwSakMvtEY50JGl1oxMDy5yA7UBrAaqn zYIwPqQ)$hmSKw>JWmXw?=|$&`f4{Isn{?vs_L@M%J>=JhQ@Q2UhwEu3qHmgc=+sS> z4LFyIF(!7Di|@e)qKpL6Xq{YpVYpszf|;jYRMUlc-d7f)qLw55g?F7?OKNi0lU*Hm z*jY9Dh~;myK-Scj;@H-bae(#644Gy=)FPKjeJRb9gy{9oGIH`kXPv~{iASDx`dOlw z*$6h@TY{zuTz-4n*AJj0o|omAZ6Z43k(O#%lcV2Nda0qAx|tzo9WJ^hsGKTCqNksZ zx#EtY_O$AvH@@2GnfK-SVyn8&G^stj{dyu$e8RD2s>M}UsAI#awxNoe7y)>rZGlo2 znzOaFmX;)0t=4F6w?y((E!s-(N>rY?>GIGnT=LFKZ@u>3i*LUA?#pk# z{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#1c*v2 zjB?5T diff --git a/examples/topics/data/PT_Teddy_0028.gif b/examples/topics/data/PT_Teddy_0028.gif deleted file mode 100644 index 84d403c320d95ae6e895be4befbd6dc899bccc17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmV;Z16TYd z8mgIoY2GgJP8zwtx!5~-4?@0Lt8ytKh>g*|fZWQRYP7B!qJiufCKxEspT2niqyBLG zW>KKSjrG)lLx{0r$O9PDeeC!${xzULFtrfP-0KC zdYySJ2ac(vq%W_otcJK?znJ`F!i_5+F+#k57dy_F5pv{&oGFr}stU6t&2~F`Zkx08 zXvnHVhfN$+mEXLiXN!Ip_FCiBd~FX-T2*MylCxRoy*=}0S;DmA?q=RKP;{n$e;a1l z`uR?mC>2k)bUk2c@N-?Nev5qTUZdk%vwhxJFJ9hX<^S$}ANbv1rH%jpd!L_mg~b-$ zJ<3fc7+o+~wVqGP&30FM+vVgRPqGn6RZ0zF6`N8KdZ?I&73zXoYUqLFT!-*1_92SB zA;Y3z6sG7+jWCU9V~qv2gH(?(kV86EpNdEBvg0&HE;(b7N3i*LUA?#pk# z{{9Pazyc3UaKQ#2jBvsVFU)Ym4nGWW#1c*v2 KjB*+U002AuzR(%~ diff --git a/examples/topics/data/PT_Teddy_0029.gif b/examples/topics/data/PT_Teddy_0029.gif deleted file mode 100644 index a15ef905f2af9f1563ab89440c1f9d899676b26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 891 zcmV->1BCoXNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcotJmx{695OeyYcv33lHewIr|-yrx(CyQz!T5 zQMYI4_t3}@ICzM-p}5G1nW?$SXb>q$2?-!bS}MsY$f;_XM;NN{X(~HQTRR)K2>J>; zYU}$8d^@>|5gUArTt3KkAL zI4TlEe;mtM)Oa!-E|nfPmOS7w-MNegLB50#lbyVgx%Az{hcaY0O&=rvRG9J<&!QQ1 zdi!@2X3CW{S*rXP&*jf*R2wo>+R$Rtfl-n2yL2g2T7F@Lm1STI&$tP88d|X)^KH~JL@X#xyW&XPluDDy`0o* zV$5YVvqOv#wJ@E1MN1t_d#W>Bo6pKkXM68p!MN#4F3yv1Nv?;BzqZWOpmK>^oy!co z8?x-n!DFu8PW-w}+c}~0hUgk)chmAt<<8aI+xlp#z+NRuo;}EU_Kk}F&bi+z$4r+H zfE88cpJN7EL*IN1J}6&)5KcIggA`r}oP-!|sEdO7afl3o_bdovh5vn6VuG2Wm|}z; zwm6}P?~n*1cPG~Ppp4|u2-;UMvUU@XH6a)xkcF}6TXyc{Xe388{$?FCI!^PXl1}m1 z;fmG}7oL<&0+dyKER{wXWGf0)=2A4JIg$WVQW91sIAtfCjV7J<<{yS+P+Og$QFGo= zb?}m*n|w7hXmAzCg#c+^!j+ez0qxmnCz7^csZ^9+im4-3i*LUA?#pk# R{{9Pazyc3U@C*e206R~0zXSjP diff --git a/examples/topics/data/PT_Teddy_0030.gif b/examples/topics/data/PT_Teddy_0030.gif deleted file mode 100644 index 945a0053dcfe58bb7f63fdf0260e9ef2a84af0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 826 zcmV-A1I7GDNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcoa{+2H;N1ql=j{0U9mvCNb9;%dS4Tr9=m!EA zus4GjXc)p6NGLf;Sy_0X$OzEr_yL({87ex8xCz?nX_~jn+UoiW%Q_kPd5YRm8>_p^ z%d2?1k=r{AD_ndDoMB8H*o)|koP4oN{CsR3`zwt>?QB{b>b)JT$}CGd3q7vU4PDtP zDZb8KZcbY-dyfCAJx|e|ty?L8{rpJ)$gdrxVFe9BKDyS-Ly957NS!`6kx1sY_->TK9NH{M7KL0)azc zdL&tL6*fKRlt!Q?bK*d#MT3I0ipk`rsU4d}GMW&q1FU1Y9!;mOZ9ugmTcQ*Twm8a`|nX-=JP8B?767;?~~oblzl>o~K4l+73qHp`Q2 zQnjSd&b(VWCT7tBT3cRd_H*dWw&R8yEKhWAt)!T(20Q#(UWQ+hx3mY{EA7$Gqg(em zJ^A(E!mDq;e%z||@6xk-Cl5Wm((&kb^FH6+cysaa<1?TClf8Yu-S@};S6`EU{;Bld zfan1jl7Isu=n!R<8OYpwPZbB@Q4;on06M>Y$Dl!URG{I8?o7uHhSY`l&W9vgfD?6v zEmd4wD}v~eiv+Sb){Qe}RAX&DDx>0#K21l1@r#rIucbX{MTP%4w&behO-+qK-;xsivNaYO1QP z%4(~wz6xusvd&6tt+w8ZYp%NP%4@H_{t9fc!VXJpvBn;YY_iG=F3W7Q&OQq*0tEm7 EJ3n)s0{{R3 diff --git a/examples/topics/data/PT_Teddy_0031.gif b/examples/topics/data/PT_Teddy_0031.gif deleted file mode 100644 index f922e56519da0bd127c2e2c32f245176e8619ee8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 717 zcmV;;0y6zaNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viXcoZvkwzm<@M-*?~Y?&ZXDw02};{Cqg&aNAnjK z7(&QbqsN%22(WiZS!sD`xj-mc2>IbyhbcNr3K#n42?Dyu+UoiW`+DgLn98vlo2v_} zXUf}YyMen)>`Tju{2Tl!N$kvL+*+x;+%fzti>!@FT`k;OfAx*qkZsUlEu??0?SDxmqX)AC3taq!-ysqC`4Njztxw^8^rQDBs>@eTKi;EF`AOKGx8GkR3CTBK zfXoaCpn=RF;+ul1MCP4?#SMm^gce?iVTKxR$YF;beh6ZSB92I6i6)+iVu~uR$YP5w zz6fKCGR{b2jW*thV~#rR$YYN_{s?4{LJmn}kwzYgWRglQ$z+pGJ_%)%Qcg)_l~!Jf zWtLiQ$z_*behFrnVvb2>nP#4eW}0fQ$!42wz6ocXa?VL-op#=dXP$bdSpWb#)6HAg diff --git a/examples/topics/data/PT_Teddy_0032.gif b/examples/topics/data/PT_Teddy_0032.gif deleted file mode 100644 index 0aff66645e0c3fd0738855ce5927b0ad2047a59e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 625 zcmV-%0*?JhNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+viZCPsL^D#8^8{$0|EEV9zV_Lb$IRVmq#*37$~!c zCm6EFw>IO}XsGzXNC$X{nW=fnKo~hGQn@)wS_)YA2?|ol*XsHT8ylPX>ZnQyAgjB} z+xjLedCS4tTRiLg3mYuF0crePE7~`^%$z|CZR|Xa-Di!P4ZUfZ8~qI)9t}xK4qSa+ z(fvG1E$C;`JAPawDP+HrC+pE`xdq?MoI88|3_7&v(W5Jqwy<#X z>3ojZuJ%x9Y1!8T@5QFA0g<2ExH0IKeXqA~uC9fnOs(3ugyhPbJAV#6y7cMPt6RU0 zJ-hbp+`D`K4nDm2@#M>!KaW1W`t|JFyMGTqzWn+0>)XGNKfnI{{QLVt{|{h*0uD%E zfd(FkV1f!R$Y6sGJ_uoi5>7~Ag%)0jVTKxR$YF;beh6ZSB92I6i6)+iVu~uR$YP5w Lz6c|I1poj$u2?wa diff --git a/examples/topics/data/PT_Teddy_0033.gif b/examples/topics/data/PT_Teddy_0033.gif deleted file mode 100644 index 7fedb4832723d6167a1823e563654ee544d00205..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 543 zcmV+)0^t2eNk%w1VaNc;0FeR!|Ns9000960{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWX+ayEcAm(lEiTFeFj*l#deE>GL^b<{nO=T_6!=LZNl zCpdGLSa`x1*rI6A7U@U=8Q8YT+3ES|8Q6F^l9>pKnyQM3$444siYGfuTWf0@M@#rB z5_|g#eEY}R>dO1!8?5|`IIKH)?2)@n&Fma&9KBIl-CfI>_^d5WJX`LqS-u%AKF+ZU zAAdUk4efq0%qbAh4{v#&fetKi#r$OhNa0`yX9X4R8-{QP!+8$%Ma+@!(546Q4ll}J z1j^$Pke@^v$!O7Jk&r4!YHVh&rI2X?Wu8oF(`C$@JbU{52{fqCp+w1aEQ;eO(xptB zI(-T?s?@1et6IH^HLKRGT)TSxDpM)gfCzR;np#t%i<(X$LX;#H=v%X6$&I30_nq2@ zaq~vlNU5)12y6!rG>ka0;>C;`JAMo~vgFB>D_g#dIkV=?oI88|3_7&v(WFb8K8-rH z>eZ}UyM7Hjw(QxoYumn!JGbuLynFlp4LrE;;lzs@KaM=P^5x8%JAV#6y7cMPt6RU0 hJ-hbp+`D`K4nDm2@#M>!KaW1W`t|JFyZ>DP06XP27O4OL diff --git a/examples/topics/data/PT_Teddy_0034.gif b/examples/topics/data/PT_Teddy_0034.gif deleted file mode 100644 index 19a4d20ff150a8971da6751e0c452fb205ec12d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 486 zcmVBNk%w1VaNc;0FeR!|Ns9000960{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4vWXrK!A)snAd6Y8endV&44=mEdQ}TMmuIrq7sz5L z0O%)3LT9(Q!e$Wnh{y=?R;aki*$KEHnaIa?cR50+>8ZNP`bG+A>fx9Q`_W2zXBoTU z_<1<0ShyRa_~IIPtUH{s2XmZ2SG#P49IDnloy6t~EuHP-nfu)oZauEOdhQgxslE=( z?atIG|6W{Aevdz|zrPgkFQCAI1PdBGh%lkTg$x@yd)O4GH?Q8k zeEa(S3plXg!GsGNK8!fA;>C;`JAMo~vgFB>D_g#dIkV=?oI88|3_7&v(WFb8K8-rH c>eZ}UyM7Hjw(QxoYumn!JGbuL7zzLYJJksIssI20 diff --git a/examples/topics/data/PT_Teddy_0035.gif b/examples/topics/data/PT_Teddy_0035.gif deleted file mode 100644 index 3dd6abcb745f400643243b865a2ffc28bff2c0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 468 zcmV;_0W1DTNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+^+Wv4i^DrviO`RtI=q3;2kit#cp^UU|Y{s?z()Y_P1x!2k<5s zQ+GFbQf7z9C#Sf`SmFo=i4rJKNLe{@d6;P#IC+Qn88TVQ3Q~F+x|#Z+$l6L92zyyL zi!0mW_@{=6+UubQgKSW0%v8)-#t_}CGz~pU?Y#Dz4aMr&{bXw$?lk^fZf;1P?#)O4GH?Q8k zeEa(S3plXg!GsGNK8!fA;>C;`JAMo~vgFB>D_g#dIkV=?oI88|3_7&v(WFb8K8-rH K>eYh_0028~+2@G> diff --git a/examples/topics/data/PT_Teddy_0036.gif b/examples/topics/data/PT_Teddy_0036.gif deleted file mode 100644 index 93277ef54eac3b708475bdc83dab5c5bab694b42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453 zcmV;$0XqIiNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`$Tip^@b+-?cr4OakUvH3v`kiqBnAstYcZESaI9gojv>%Bb%m*)qAxAq4Z zs8<)0ICvP+m#4^=1~BY{4u=&CVWW|)dQ zYy0Xc!;9-nRXIw01&mzfr@Sns?EDOs3no2HU3iS`6xqrRJq*sQJ8piCp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1PdBGh%lkTg$x@yd)O4GH?Q8k veEa(S3plXg!GsGNK8!fA;>C;`JAMo~vgFB>D_g#dIkV=?oI86~QUCxuFreRf diff --git a/examples/topics/data/PT_Teddy_0037.gif b/examples/topics/data/PT_Teddy_0037.gif deleted file mode 100644 index c9c0a090398a3ce870487a7722abccd624f6b9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 440 zcmV;p0Z0BvNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9hYgr_`!71;}2vp{$n+-ed!T?+g&$c>&}yI<`*Z)@-sCMwi>xZ8yB`cBl6;)@S!d z2$(nMQrKsfXz0ht;`oS|2-qe_iN$w#rWx2-Ne8)tDKNH3+IWg;W}4ax7RO4fXUmD3 z`^wAc`#TsX42-s0e04{hTq`@)O4GH?Q8k ieEa(S3plXg!GsGNK8!fA;>C;`JAMo~vSb$p0027$8`%p0 diff --git a/examples/topics/data/PT_Teddy_0038.gif b/examples/topics/data/PT_Teddy_0038.gif deleted file mode 100644 index f0a00a1be4e1b224543df906b96fff12893e293b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 428 zcmV;d0aN}*Nk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KDwoWr z^9XoKXMpPT+Nx@0Q7lob4Q#VuuMi9fsKwnC8g1@X*L16Uu71aNcsiRk*O%9}cN11; zry_`0sB_3hsF>#W*XS4+dFPjCnKK4+_}Mv10Y`c|QHHw8z{&c$;0ik{AWA!Hd;6NJ z+v|Ip`HLzm+^Je@*~W`(7R>w%9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRd2q-|znqFrdJJ1cxXqXu^&&gdCPJdNWyqH^U)sEhGpEj-JbU{52{fqCp+t)sJ&H7`(xptB zI(-T?s?@1et6IH^HLKRGT)TSx3O20Rv1H4dJ&QK2+O=%kx_t{buH3nF>)O4GH?Q8k WeEa(S3plXg!GsGNK8*N60RTIS;n&&# diff --git a/examples/topics/data/PT_Teddy_0039.gif b/examples/topics/data/PT_Teddy_0039.gif deleted file mode 100644 index 4a8b14e27770faa31b13e0a0e0110182e3d227b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 410 zcmV;L0cHM2Nk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`(DqVb4KY5+_F z6QGRRp46xG8e;~iTWHIQRcZs|a&uJ$hl}HK7Y!h%*X+1kjpCZm^q~F?=eE~J^aL0v z$VVtdJ-@u8!J0YTWh*%D~g-D z_$si=+vgihTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02*m-tPVm zA1^;oUvGbppRZrzHN5ZX!5kDo%842d$O%9Sizx_k*Urp%c%YudbtGpEj-JbU{52{fqCp+t)sJ&H7`(xptB zI(-T?s?@1et6IH^HLKRGT)TSx3O20Rv1H4dJ&QK2+O=%kx_t{buH3nF>)O4GS7reK EJC5bXp#T5? diff --git a/examples/topics/data/PT_Teddy_0040.gif b/examples/topics/data/PT_Teddy_0040.gif deleted file mode 100644 index 88e8eb14795e205f58bb3f1a09ec2844bc37fefe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 387 zcmV-}0et>PNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&iDQg3<`%EzyV;CC5cQ4 z^7(8zJYVa9KT55WVnkqS}TFKf98!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp04ily57<5 z9xp#nUvGbppRd2q-|znqFrdJJ1PdBGh!8`fg9{Tne5kG=#EBFuTD*ucqsEO?96Nga z2r{I|kt9o+Jc%-;%9Sizx_k*Urp%c%YudbtGpEj-JbU{52{fqCp+t)sJ&H7`(xptB hI(-T?s?@1et6IH^HLKRGT)TSx3O20RvEB**06XBDx#<7^ diff --git a/examples/topics/data/PT_Teddy_0041.gif b/examples/topics/data/PT_Teddy_0041.gif deleted file mode 100644 index 0353138a5f2fcae8ae8c34408cb6928fc5b21c49..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VaNc;0FeR!00030|NsC0{{R30A^8LW00062EC2ui0LTEy00092 zl#i*)?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoNI&i5w(1o(!eAh2aT5|^H& zP!$XWl+0=dIHjVTPpj8rbOpcUviXcotJmzd`wfrF=k&V$j?e4&{J#GW7$`VMSh&|^ z2#A=-*y#8O87VnQS!sERnW?$S+3EQS8Y((UT55WVnyR|W+UoiW8!J0YTWfoZo2$Fa z+w1!a94tIcTx@)doUFXe-0b`e9W6agU2T1hovppi-R=Di9xgskUT%Jlp02)5w|MR@ z22ZZVUT=SopRd2q-|znqFrdJJ1PdBGh%lkTg$x@yd-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1Ei#1NOWPLuazRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajUXI5di)47q{xvZ bOPV~1GNsCuEL*yK2{We5nKWyDDgXdGC4!-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}J?#fTT|}L&z0KY2U4q?QV;w#IeU6^4zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajTsy}di)47q{xvZ UOPV~1GNsCuEL*yKsign_JN-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0trK2J}oVeT|*1z0KY2{S7VwU>#m=evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajTIa_di)47q{xvZ QOPV~1GNsCu=L!G-JKv(AeE-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO1y8DqQvldQ1J{0to}JxyJ0eT|*1z0KY2{r!O~Ee>98evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajS?I?di)47q{xvZ NOPV~1GUdJk06Sldo$vqv diff --git a/examples/topics/data/PT_Teddy_0046.gif b/examples/topics/data/PT_Teddy_0046.gif deleted file mode 100644 index 8476318e9c4fac7e60808596468cb2c85e4e0012..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=SHNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_YCy`i?u)GOOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z3nU0?9Cl6K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSU<-di)47q{xvZ I0~P=PJL6uPSpWb4 diff --git a/examples/topics/data/PT_Teddy_0047.gif b/examples/topics/data/PT_Teddy_0047.gif deleted file mode 100644 index 512c6eebc9630c122006fd15a139f4566a936152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmV-70m%MGNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjjS2ms&-6DnG2dWxE=y2{$>`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KX7LFx?dJx*S3evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSd_;di)47q{xvZ JOFAq706T`ao7DgS diff --git a/examples/topics/data/PT_Teddy_0048.gif b/examples/topics/data/PT_Teddy_0048.gif deleted file mode 100644 index 9fdecf6f12d53e8d8f14adccbc282107d56af233..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmV-70m%MGNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%2w;c=fS72s z*a#UZIZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{SA)y7*1YpevY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSd_;di)47q{xvZ JOL8m#06V|fn??Wt diff --git a/examples/topics/data/PT_Teddy_0049.gif b/examples/topics/data/PT_Teddy_0049.gif deleted file mode 100644 index 5988e0ff985fc18c07558cb0240509cc614b3529..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 312 zcmV-80muGFNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6-eK=({8evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSn0-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25j%McEz78KRKTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSn0-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K957+hFzYj2=z<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSd_;di)47q{xvZ JOX@2C06V7ZoCp8_ diff --git a/examples/topics/data/PT_Teddy_0052.gif b/examples/topics/data/PT_Teddy_0052.gif deleted file mode 100644 index 132a9ad32043df45d6e7d94b04c97787fe5d832c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7eJNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^Y5@SP_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF(NK55-VD~h%uwajSCz*di)47q{ur3 G0029~ikL(I diff --git a/examples/topics/data/PT_Teddy_0053.gif b/examples/topics/data/PT_Teddy_0053.gif deleted file mode 100644 index d5ffebc0301e631dff19662dfc78ba951d37a586..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqLNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^Y6Aek_6rV+$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajR_n(di)47WSIg0 EJHg|b8~^|S diff --git a/examples/topics/data/PT_Teddy_0054.gif b/examples/topics/data/PT_Teddy_0054.gif deleted file mode 100644 index e09375aa0f7ad9ab0a7e8e59d5300392b003d577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq+ONk%w1VaNc;0Du4h|Ns90001HR1OWg5001li0002U0LTCU0{?`MsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajRqV$dMr}_06QGR BnAiXS diff --git a/examples/topics/data/PT_Teddy_0055.gif b/examples/topics/data/PT_Teddy_0055.gif deleted file mode 100644 index e09375aa0f7ad9ab0a7e8e59d5300392b003d577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 303 zcmV+~0nq+ONk%w1VaNc;0Du4h|Ns90001HR1OWg5001li0002U0LTCU0{?`MsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajRqV$dMr}_06QGR BnAiXS diff --git a/examples/topics/data/PT_Teddy_0056.gif b/examples/topics/data/PT_Teddy_0056.gif deleted file mode 100644 index 80ee11d98f9ea257917a11d916320840d919b957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqLNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajR_n(di)47B(nkl EJMku&7ytkO diff --git a/examples/topics/data/PT_Teddy_0057.gif b/examples/topics/data/PT_Teddy_0057.gif deleted file mode 100644 index 9af1fbacc77610a0c6a9fa23e1481175f0bd693c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308 zcmV-40n7eJNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_-FwD`6D@Ld5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajSCz*di)47q{s>d G0029POPjI) diff --git a/examples/topics/data/PT_Teddy_0058.gif b/examples/topics/data/PT_Teddy_0058.gif deleted file mode 100644 index 7265b9feed1504d5d6a2b6b9f4a040e9fbd34dee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 306 zcmV-20nPqLNk%w1VaNc;0Du7i00030|NkNR1OWg50RSuj0002U0LTCU0{@JUsmtvT zqnxzbi?iOm`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gP%%%<}RjY_A~ zs`ZM^YPa03_X`e-$K-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAVJ1puJy`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*2K2Bb4evY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajR_n(di)47q=f-YS={|^`_I7nD%c!-#&xX9S( z_y`#(IZ0V*d5M{+xyjk-`3V{-I!an`U)E>J4;(@dyAW^yUW|_`wJW_ zJWO0{e2ko|yv*F}{0to}JxyJ0eT|*1z0KY2{S6*o0kBLievY25zRuq6{th26KTlt8 ze~+K9zt7+A{|_*rz<~q{8a#+Fp~8g>8#;UlF`~qY6f0W1h%uwajR_n(di)47B&h-b EJM#FNZU6uP diff --git a/examples/topics/data/PT_anim0000.gif b/examples/topics/data/PT_anim0000.gif deleted file mode 100644 index b0e3f04acd508828316dbdd7144f8448d4817141..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 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 CO2VoD diff --git a/examples/topics/data/PT_anim0001.gif b/examples/topics/data/PT_anim0001.gif deleted file mode 100644 index 4f7cb902461597b7d2178559410b8b72acd62881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3819 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 diff --git a/examples/topics/data/PT_anim0002.gif b/examples/topics/data/PT_anim0002.gif deleted file mode 100644 index 4d37297faf22df87fefcce216042ec63ef68a59c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3910 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 UJG4Yw3baOhv`Cw@9vcAwJIU$rXaE2J diff --git a/examples/topics/data/PT_anim0003.gif b/examples/topics/data/PT_anim0003.gif deleted file mode 100644 index d3ab40361b44f85e02750922c5fe69905275eb44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3750 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 Qx~<&Wt={^rHy8l`J5$1-5dZ)H diff --git a/examples/topics/data/PT_anim0004.gif b/examples/topics/data/PT_anim0004.gif deleted file mode 100644 index 44cd62bdb6f59f1b4e5bcf3d4b790ddee11b4647..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3681 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 diff --git a/examples/topics/data/PT_anim0005.gif b/examples/topics/data/PT_anim0005.gif deleted file mode 100644 index 185298a9428900844b3bac159a7253f6b13160ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3657 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 bmU^j}nyH$)sSKRjsh;|&pc<;f836!0ksfSN diff --git a/examples/topics/data/PT_anim0006.gif b/examples/topics/data/PT_anim0006.gif deleted file mode 100644 index 30de511621dbab77861a8f73b1b1beceba0ac052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3437 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 V8l_S?rBqs_R(hpa8UPUh06RrMH*5d^ diff --git a/examples/topics/data/PT_anim0008.gif b/examples/topics/data/PT_anim0008.gif deleted file mode 100644 index 76475facd459cbdd9b46aa25628d7004c8c3d80c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3631 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 BQd$52 diff --git a/examples/topics/data/PT_anim0009.gif b/examples/topics/data/PT_anim0009.gif deleted file mode 100644 index 3b224625a327b83625db296100176e25a8e6b557..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3651 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 VmU^j}nyH$)sRo?dsc#wq06TBMRYd>* diff --git a/examples/topics/data/PT_anim0010.gif b/examples/topics/data/PT_anim0010.gif deleted file mode 100644 index 9c008f38b66b9d17b8fae65997897b19c71e2c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3695 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 NxSFfFij)xm06ULEhkyV8 diff --git a/examples/topics/data/PT_anim0011.gif b/examples/topics/data/PT_anim0011.gif deleted file mode 100644 index db227e220d24f54104357044748ad3c42fa90f52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3827 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 diff --git a/examples/topics/data/base.gif b/examples/topics/data/base.gif deleted file mode 100644 index 8d7603a01811146e295889dfbbf6f2baa36ec215..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmV+h1Nr<%Nk%w1VQ2tY0HOo{)X>QP|Nnr1fB*mh|Ns900000000000A^8LW000C4 zEC2ui0B8VM000C3IJ(^aFv>}*y*TU5yZ>M)j-(ZwXsWJk>%MR-tI%xUcz)M<@BcC$ za7g?K1AwG*$!t2G(5Q486<7sFs&>omQm@!Y%1bVrtJmy#&Gv%TZ7L+LeTz|a`6EBI zJH~ubbAeEP4SVcJN|y3fKW z07?QdgIy9+b!!!^J;a=wf#OBxlB2#j&Pd;1M;0e?hj~*|A59=Is)+!)6 zi~cYkDd?pC9kVn2LTbdtvC+hF6%}4onUUqjh=opa+ZSo1OPl&iGV#c2jmVooXT~#F z4O~j03mpbkI)LameMgx}jmFd|t%OKdW^K9kXHzLWX->gVL~B*BGTl8PTh^;pYg^bB zaf`Mn)VLSQay^U2EzE?9zUOqS)+d)DrzteC*lvX`N3->8=q{HySEY#o%;Ap zF0F~#0)ojLpx-Rr+Ec2AxAYUtSY(%+u` zxj6aDgY74teb&{IUt2JVHeOWVC5T>S@%1L)dkgw>pb-xK2BCrM0WqNx@U;=$4jFb4 zB7<|4s33vlfplRIDn1BT93$HBA%7d9=);Wz_Sc<@9lpRLg)AmgqmVIbI3piNx-cY& z6$a8IUuK+0$CT5oVI_?(Qd!29B6gYO8DKJErg1*rcjlU#9meLHeWh6-oOJeh1Q>Yc zspp=2_UY%Jfa-Z?poA7`=%IcNis+(@HoB*xjz%h}p(Rvm>7|%vs_CYjcIxS;4kQ2o EJ8f`&hyVZp diff --git a/examples/topics/data/cait.jpg b/examples/topics/data/cait.jpg deleted file mode 100644 index bc15e16a576e8f3397025e326da16613c672208f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7920 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 diff --git a/examples/topics/data/end.jpg b/examples/topics/data/end.jpg deleted file mode 100644 index 32935763af3208f36d5965ba9dd2cfb03c534820..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36399 zcmb??Wn3KJ(&k{nf?FWC1b252F!*2z?(Xgc3+`^g8C(Yq7FFVm~nls(63$GghOyFm^&j1)$0KoL^1$aFMU`e@|*mwb80Pp|+ zK>JO!1uG^eDQTbrQvNKbAPs4=z*ydln_8;!74w8J6_q}m+i+}T(f4K3#`Sw5D`E4iObgur< zxA+%_Mf!&u|CEP()Y-M5TO3u#D&rdFH>R@a}uIA<9YG&s`E@yAz z;Oyw&Y~*V87E{2#=l72l07KHj*1=iP$koJ>{4H$%lKp>e{y7f+c6hV$U-1?AkL*7~ znYcN-|JN1_%oqUhf7||#k02WW;PYF&-|_rM2BHE0O1%JpkMsYLQOW`USTq1Y9r^1i z0R3M90+@EcjS2I*3{?FvK8-Rrb7y=Bz!C(Pkv0&h^U|#zGZ^;4+3-_<7{a1L9kl!J~ zBcQ;+0#M&l|KEN8)dc{+Bf!GFgFyr!VFF;_VPXE6^*<6=)VEU#4juvP9U_1Nn;i#9 zoDx?R*@%M*58o*;L4x3Ke%-H0YEG2RbC9v5nh6&T_XjM%oAsONyEi{?gS>?a3l8<`cAVF+};{4&lU9j#ib|_{+5nt@!(ex`o#|2JYTp>h?A5<^G_%zqD z<-Da~Tsao%f|Z2Hk`iGJ(c%a6E}rZsXhc3N;?I%m0UK_5rGxLprXQ?Isu_ zYKrMM2w=5<^?d>G30o%0)HL?K z`{0MZxmuu+l@yg4n3y=;41WQ`ZlQ+JzVZcHX$M8)DuRX=KV#*SLi+OdE;ueV0OPIEVWc7 zc&RGBH?N543;jTR$wX2zJbBS80IWHjL`~~5b3p{AIW4XGwLiPWzb|`yR`cP><-);m z_8OUPm)b7#xy9|s-QHbBxHLVUh`DKnK#+nSzW9Ca^|OE?tEz3J>?Ix#oc@F1S{j^g z2{eQDM4=)2@M5 zJKQb$Q|VuLss|JGT3`wW;HphrU~L{*9NM`qWDyX}ATD(oYc-RocHGMMUkQ9Xo?wub z4-n(P5a%o&rq`ki2=e`&_QEi1v4D%|b5%tkr1#f=ZJ)J{g)_<-p8ukZyI*KptCsLa zOnyi^HSY+hbzwx?`3@1R$nK3>+J61}fmm@q#&yrg=9Yb3$I@TH!e&AKB=oN7uU5x1Wn=JZo~d8isbFc^vXZ~J zBg&NKP5tEWvDi;`E{VhI&qw)Pi($|i*2pK5VbN>+3zud6ho^v3M%UjZz>Mfb%xP78 z@CQ|iS3rt2g@vg2+$drRKG!?#h8+1%Y#uOBCF|S_zDu2jZCwpui@Ow$>T^#@(}I+T zxX66woW2v9iUktaDw8EeBgG0Nohrjhgk;^~wSi2q~h)!rKo^c^V{n=%T{=m6d+RH-pf8lfRXnSdBm5oAYrwChonZ_exHd$@W7e z$=9oZ=e|Nhb}~1)3wfuRQGIz;S=wKPJ5K`n3A;c{wxlsn&je`!OQO~8xY!XCh{Foi z#?A8>tK&}0?2jturUWvHReR{W#^;1ZdS;>D4nwxZ&FC-=7mn&8g(a6)+24EH_&;2= zT51qqODi&UM9IGbP5_?Qlyt5h82R*n4wjPTtX=`go^jI4l^(Ht4(3q3$c1XDGF!!< zmU_w2TlE?{bRVy;v~5Yt2UBtakSzBW$PHd2ANwFVLcX935glvw^@zaIFNh3?vJU!O z-#^fM3@PhKA$%3MT7 zkhYOhWHGb%BK*PI>(h>qbwi?3P+nrQ2(T%2S$%2AKqv5Mff7v@yFdJ32y zh5zB&H6Gd+(W}=lW?;XX;qfVnk$)a>&`VgA0l(1*6GxBJd7o^LhXOi=2M`32Z zmjw1Dvhd=G4&l`NWnZ)7JajYzMz527z0s0*MqqwUMKwyvI;3q!0L zmGfO_*h$&l!1DG*WM=5wHN(>U$3Cuu+zFhxU2$F@oJ+~8Ez<-{E$;T^fv3A|3Nxc( ztq${EB%GjajShD9sV+ZeuH+i#s#>-Jksl$~Nm;Zr0E!7;QnyljmQ~rioso()y8AMt zJZ;UXi-GD`xml~3k64=DH;&oZZ|IrEt*G0l*cZWpWcef#N|}qW{@`>x?B}jBl94WL z_iUIUU&0I6`u8uatNA*eT^}9?arAQgAr;jr6i7P#ccD@tv5=qq5SIt@n)l`Vzsra=L?jQOQDTFnAOzI(K@{7|Zxcjk##3 z+Cvw`=w^q0oWO5Z&d&@jr6~Se{=qWf{cOTy)YEU5bbfmBXS$3}{(OK&@xtIZFN`gO z_lQ|dvlKte=-1swH28Jk2fd;zhWm#cPJbb5Cu$~F>CLW}=k=Ihp{b40eSN6-9t+oy z!d?^SlRJ3oSMMGd=3t#?-^f-_OoXvBP@QB#NXw9bttc^xXGkR?$ERho61&Q?qGNhI z6*!bqa>~mKl@7Sk>xnoVn%vU1n^jp+b6(6k6Fs?QB%Q8qfSyEKjG@QNJP9;5)Z%gv zLA_95vS@L2%c_Iv#{ z!_Dk>f`B1fN6~&g?pFZ*=}o&Rm8*Z^uaZpT(^j_Pd6~bK`0bgJvA9))K#ixuA&-Zv zCZ)RO&`viKwk3P@+sHp*=Vu9AdqRfNuK;RmI0kpv&H34;Nhfq{?7Yh|waDS2A(BB| zVPnFN9tbWG$o2SH( zY#J0&QC$l#mfLQ46jclXsJVRWS7@=RVBB(ZXF0RWO(Yb}I)^KZmcF%R%8+VBk6|Hw z2GqsoT=rIwdOU)ZXI$%r4v?4T^3O_s6!H`>TJHtiY;KHp@M|mh%eS;{-DIoxNxAn3 zR>T=E8`U0bCHvit%8|X*ld+43*uxY^fBnrX(4#z3@_c=r%E&%GVcqeUG)uoD{vxP9 zT*3#9SrgfYD8^r<5NFsIuH4SY4qcIZyInb(^8OBgm-gUT6Mf>`C?Z(eGtXU0MB@5| z`zOhE`Op_;^??)?8zh-a!x9@*Cvv!hZ6CKqaH3B9gKV#@|gXClf$z!615ZTv^l^SP3Ybckvil(-wROnT@LB z$&GuIGCyW5he9r*D(q$BV0EsaYgKY0q!r+d23)Ek zeYXhl_bJYcsB|&oefL$pvdlRfL(XlGL>q`jDufLVEOA zt#_HRj17d>wvJ>25R_wFG0u~2B{v=x4mU{NYMLEe-JFuH=Vsl8MMAtJ_w)lZIx9=3 zl2r*3wI6b5ZS{HC*e*Z72{R!|D~~rJ;u{sq1t9V8dkHRl$Yn|XK=!Wz-P$rt?yB#i z_wV7skKbFsLb<>ZwcU?jkR|gGzA(tW0*nqOvD{$T(Ge`I*z`!kr<#^!Fr7{hkEU4N zN}Dy2jhtpJFKw$P7DV(XU5hGtFpP7V+=Rj$L`*i-zN?IJ7t37gK(&a^Q){eRX06YS z2IIp*v`ef^mU!SE@x*|R7SD* z2-H7DUl=y-mLFZ6Z_zHUdFE>s>*h@QTzM7UzB);g3{DjrrgiaEj0jAxzy>F*pl66v ztyFnaUX<@JEp=rcj9c8z_q8t%CeMyrxn{Zb$#xQ8f`Qhiea{h}CI4of-{Sgj7l8*4 z9!MKM+&R^=eJIM5;EbYfqjh8PcYCgAnFr`=8LoaGfO zLvXjh!H`vZ2cOq}nMIND!=Y6P0`a1vl-!IjeV$KtT@BEhcu_slN#wy_@OG1SH4{>q zwmQEQd+IKjO7=zmb#;m;*=d^!P!+P-{6z1m-1s#YsmqMyHo|KiwEdAq@pE}BSI&LX zhscb-+lqFfUPVkTp@V*Jmjxo=F#oAQHoq6`4Ff(nhnmIOW`nUnUsy{(%g%@9-LDQA zEu0}a+|tr-2QAw8d0lveZuHShprYVpfbztZZumuU6%X|MX^KbY1CN?i(xd(96JJGe z?c!kY2_Lmmz3v>1fHvYu^fG$B6$(5xLOh4C)5N(+560o_ao6BTXFUGC?A=M}X_c8* zL)&rVNtSt`|C|P;iyE~s;RP`>cF){H;yJ)WKDc?hY-pp`91^?vgtBdG)s}K5I`$Qt zAIUP_qNlZG`Q~F^o?Ok6oLX%nxLeIqLZv`seU=)2?`Q)0VQ71$yB+5Myc;1y8Tt?) z>K!h3&;N-=dbj7=e6Y1Xg|9!h8Rx6csNJ@qXMwt5)AA4%y$da0H;KD``VfSodM}{S znfG^O>KR#(_2_JqtWS<#Wem-dqBhaTi037=ksN2`>nS}|8X6c`hnYO;?Y+}Mi4h)* z3&x)^gDbPq$)e#E_$;GCM9@SVqXYXDVI4f?V&+j}G}C+1y?A$m&fIsyN&&@t>(gZV zp|1cFSVDJ|8_^HGwME&itAU%AJ!y)BvE6bG(D!@3~afjOJsTMPfq<6rHRBv}q; zrn8FXO?|J%cL?YIcKI-7%n;#nN--br8oKLv_xR)|A5|wEQ6-2qJ|u4jWA{^cRJ^!_ zL$3Se0lj&Z7oo1vG@dUju0Ks%Cnqg&H&3q%NSN}c3z`2uc)-`M*M|UQo*4P0{+T^jsVuHk@_m}M zfoj1;TYz=VCwB6s^{Rtx;m0<|7@p*g8qYZ!#lda$Bvb zG0Kkg;^xkI7*{^ta%YSjEHZg>!CmE1F822u%K+wo{?!eOZpl!G=6#-|v`rXy#D z$|e%uwoek(fy_tn((!r8#men_kZ((Mq3C@#Bo=$!fz{~mp?@0lQu|Fd6$C-;5P!+W z#72IPTFTl+rFckX6F3~Cu?@`_2}-;1j0aqGAACzF5Lp`$Pl(l!A?m#2Oxt(sxSG8% zHg&pE5|4H}T+Pn_8bPF!YeU*b;@sDxYf+RV{wN81n@kG?VxSuGPk6OZ50r^_u{)pf zSp76R4Q+8UpR7C5aL3@4tJTp;)*265=}8`ettzJPc@*{VO~E;sc=jl*?b0CGb}79& z&1%}vy_s}6Z|V*A`sg~dD-9jX%r)6+4tDh}Y3X}d7%#qs&8FGQhootbw5Nua8tygg z?q4(#IQw~N4}tlm_iIC zLwo+IyM>#Kf`$oox-Bnz70zfjjgu5Zib^F$pboJz8%zAro$rhBX}Ds)5KsO%dY^J; zu2Y4j9o<*A#)wwsj@ezD6*o6KpN;>~o1#d6k`{#SXm9@xwKFOn4;5JIX4@*fucP0g zQIz@e*g1pXaV5+;ddT`MR|;0V&hb9LTLeA6M?7aERr zqmZtxp}x2I8yQBIK9}dqbxypvy=r`fD3e zDrml`3qE(Cm^FVP-|;=>5|%}(=;=!73Rjk9b@rYvx9hivROb>uPT1}l)n*rddXw9Q zR}=S?+4@)J0+}wf`5dP?=muu}nxLsEX(QGcHQFnH$bNT&$%mg7?kXRhOUWZ^Y+=@b ztgfhWfQ%0M_s_m-O|XveIEyXIXFGzG^VWttyc1kDNF61++nkOk_>^WZKJPQtfNYO-yH$mZbNNV9tzp4pLH zfy%Go6VkN&s|jawLwWfYfRR6_evMwkZhpB#@<95_6?n=D48dSckE^kJC%ns%aj1l0Mf_sEykf>boQRj&ZtNzdt9%DMZW%HcbGT33GKzr@REb-ng^+(uM%S@)--P>7*5<$5(fc) z0svRnv{kVfO1U0)Jzp^djG~0t*iIP~xt6L)p`^6cskR;qTn)BaEDN?giI`xx@L#tk zwJEuFiex_-5TB8cR56s9ELTvoA-PngJQCWltPDZgz6H|iA3fVMnj6|b7fJ?1SbRRj z!Phlbj!x#7!`fC!IDHoXBa(wnAy!Oe>291#5wZKK)NQ*7h@hjLU8?6=d@ za!LhLRtro{`*1ADqGi-gns zFvHu`eIot?=t(p25-7)aKK$V!Huj3b5&qz^Xwk8gn>=Av;Uu-1Vh}T9enZ9%b;#nf zxM}K_EFVJ2H_={t5`%XGRyS~$z}!PV-5NjVgU8Az!+SxCi!}Q^7V5=pc|myX@owmX z2TrEC9NyooXrPWvl*J1Dg$VL1z}Wk-@_Nt9R+|VgudZz}CE$u?)52GSZY3Uv@igvL-rKGO55Dx*y`lr z1n#eSh;C_#S}z$DAO6+=Gt+v4V}OA7H0_rk(~(iajwDI|Mk|wn=d1+1E-xNjixw}ZSlFJv>myQVUE0E}=}*ig!sM|! z(|kyDa)7EC3pMGs-}=eS+I$Plc&)m8=JJ!@A>N1qHJ1{(b?kh6D{Nt;+wft0`b1GX z7NtWZT<)Y@e`R}K0j?O~*~+z#w@FhutJMTX>_dreaWknp*#&qcg7{=$Ikl>L1q%DA zy96_$-j1mr?LZ8rY3Nbn{VQ3s=Y_d>aB>?7cRIf zdqY0MEJML#bQqoYSVLEwrqc|a%0xPcp~yt)Mg+e~2)mg?iV2jN3)Rk&F*MS^?r6b5j?RqE#VvKYl~GrV@U@ zC^PwNa<#qk*Ht-9psEkHikvLR^5%rm3Ib`%9bHC?EkzwlvOmEkpy@02^Rx;RLr=a- zbS_AVhv7f`twI^j{Y^(qWfEJcF{=DfT1YQo)4pLCO({yIa!G2gW(GF`CcL69bsBin zvxY6)M=zDMRi7L$i0M6W_2e5dFzvQis;~Q#!C8byW><;;FSN@^8DXHIa1&`|nVGZ9 z^s~aK^_Ra}vr=hz(xS^d^xxZ8odB4dN~${vN7Em&SNLzZf?mkWj|Lm1_bCYlJt)Lw z&M^EJiJCU5EZklJ&qO<&CACGZs(SY_^UlKxRcphixCZJ%*(%xJn zWCS*X&X2|uRhB%inM_3;c!K!nC$*2@%dC~9rtAFqA>^LH9sQ_ckUQlgxy8Up9lr>3 z8+K6&4@m7B=(EqwL9!!&h4rc&b%^-T1MHAJJDBC);Z*?iewfO1n zAX$dQkt@gQs9v86;3|@CLsha!Ow{z2IE_aq3p!Zj<3Ih5B9dwXPA4p^yD%AkG#tW{{?? zq@wJ~Pi8*;@`ZjU=VPWkAFQXD%IERK1&PTNtk59Ao3mLsm?e(B8;vl^d3u#YYtuza z8{d@tDZ8usp7)D5Mty#*7&Iu1AnflmX|P>chirZVMPj?Hq$~{QoTH!TnQeKP3!#Xx zmOiwfY*#F54g^SJ(9~FX_?DhNOUbqZedD!d5*||#!{NGYUFQk#YMz0fZ>tHvGqMR< z)PE}P*z@jKmsd?kogS3f+^T-`$NN2uN&I%)b33R9uvWYpvUlhW;;+bEHKiu|Fk5t* zFC_=56XV#HH#8f^FO{k)HT8k@D~-~kSo3P{deF=&c}Y~1gu&{E94O%`!><4pLDx+G z(pSJ8z-I-G1f59t6b_2lf9C6Zt_LI{Ch8As+#>Ux5R z2!oX;$>ntVUg+4;mu-P8^cOCs%RV;|?t6n~<89il6iFqP%*_U$ppw$ zN=-4loX?(fE_-qN1%^6d%jH_d+Z8Q=y-5w^f>_b)~oGiW{#U@2d_` zb$e4mkExcxC@YPbG{d=Nathr>3rO(U$4!ZNlD*eb0=;AQclgTrpO)2oE13@K?8kB6 zguXVerDsJSj%x08b#kQJZk1 zIrl?1Pw z2l{M&%y(U>;Ca3RtOrL^H>M`CYOJ>`cAH0X6LiZ)e=lCxXPFcLr;hCkW`;nfTA-@L z`zKyhrf6WSj)X=EBXvSHddl^D-8eI^`F3;M7DN~k6RDYO;dw$M=9ehlwv}S<;)yGo zz2+ls@vb}lL!bK*SOzrSLd8!}4Bz%+b*eD>DwREQnCIAl$S5HyK9WQ+quOzTzohc0 z36$yN;|u?yD3QVXIp$srQdDdSL!Jk&4+GohN*GO`b!p2}nHhB)XgM2T9j!PGyW}0+ z;9%z13tHN@t(LquOPc_rWTfjNeP!Uc#0|)_gL1?71NIpfI9^&DGb;3v`3H(*~yUUuRc&R1+4_AE>Yg>L&S&B zonh%?9Sv~LoBmEN9UIGRGvrw9Z)yshG|c~nw%-jVgpVu+tk}^5BQaAj*sqT`5!(g4 za!poiUjY~JXlgofRa#7(sX3iSi_f4oo6T5t=!=}y$SLQdYTH+vV;Kjt8jj@IMq|t& zvrihn5Uxk5-P+70iMzjez=n&f`U}q{#`6I~3{rG?=Vl(}nrrQs8ILOF zAT1nK?#S?=@2DiLl-hs^+1ca(VV8s1bBXybD*ZQLg0CY>q+Iuc+9sNNsw9E$eZ9 zLI*i`fxpHtaa=bTpqq@HpSMp%OIj-07hHb=bFEyPuxz*KcbE+v(pl56_u|JhakDLI zxZ+#i^z|A&#n$fI@(;9c881H#Hacz3A>LMjmeTYZf;kvX z`5+?i-Lru{??V#BPhpPa2y_$8k=EuszG-{8a8<4HApO~e#dyo##Ocf3s63f!hc7Ec zmbKuuDelZv4OK!q3i;Ftw@}ZrGnj4c;dH^uxFj{Uw74y{4e|b=IwX zecgHHhm9SnONxo7pXE=wp4rdKuJjI*ln z^Qo;wDq`}cobItWq!nuvtGITnM+bo0qVHJ7Cq{K5JaqkVB?)DrV^)pn``i2{KTYsY zmz;nN_Y(K#tx*i-VXgfr5~6B?q^4n28VoHj4@7U0r22dUTnky@*$Ue&HuLEV+kSW4SPdzhq;+ zDo+)62}5{sdKWxuG0I z#}Sv&yUkW0$K#3}=kACO)-eC@493Oon5~GF(-K24V|Wa`XIM*tb z1cRq3$ql7eCV>QpElm~$@fYyoF(vwTKt_8lX==&T`jRYCBjv{>mVCif#69B$Rn&{B zZ%{;;Giem6+SCh+u6BctoRjO7AiW2ATR2M>1D9F7ue|L&+j_#IEG_?_+HIIxCf|UN zO`Up{jgx)fRM>$qchr%n{T@7A2il|83{FC8vu;aNeYl${gDFT+-BW>6?|82LuN@4X zawiE(iw;OREp7E6`Z_wTbc|RQOBTAiu4Fub?ra&Bq6ys2;c1FUum5PjCUoZCY2Ik_ zaX3OQ;il#nM&d_g_&Yk7msOLk-w7F%GQ8nLKWvm~0=0ufjh$$F7J26ca=K8QBW-MW z=8Jhc%qJ9)gE<7|lesR`^Xd*kiE0b()NY44oMrXKxL&OoV`dlHaPgCy4d1z>v_P4v9DJhhb+Tj=vQl&tV{LzCFE_*6ROYVB>-Ac^W#fTAODKVE+<%}~z zY{7ggv3j3oAGDCwqSry$ERGufP1moNJk2C84Tn%x1t?Uv1I>Qv^f+B>uYa%;)c#!9 zXZ=>;*%F&KmIvBcmG}mAPTbs34?Hb(C>EtR#~%^vU~iPww1zF-WTQ2yoW29$B;N?r z^oNo3S5YSdK8+N{wjW|6@-1NG7(B&{cQJFJOO))A3T!hDY}?IVquB_C>V+j*u;6~0 zYk5(iyBC<`^Gai1@g{A0X06;B=po#(oWabrG3xD8@#3>hrutTZktyo9o=e=@jk_ZM z+sE71Z5RbZ_sd+r6yry;Dp{b(7uk@KiG7oylp?H^_p!mlw>I0FwSZrPxfbEY>sMGD zVq3sZIS_D@oTh7*ov-C2h&YZ|ItERtY^4Q^x|$7IVf>@)vMQ2(b(qehh#E*;eze4O z3SO{hnijt);qT4!fFpF?Yy_GU^wNB4eA~A z`5;FoKTX?&=-()-<(nDP&y$A7OKh8Ue}n37Y}{(v&dJ@+BqUs~Cjs-}0)g+3p!-2^ zEoCB&m*c5$GE*zMSs`Wq$1@HWGGgB!^=l9!eqY`$TaD|Q-r@>3P1*F{>1dF>bTxgJ z{0$fo5DEAl=8r&Bo8~7;I9YTX(6;_M$yF|WJj}@Pyav_1sT*E4pgti+FXDh%=Ho&A{(BSRnDnJ2Nil5?fpNd|%RC4urv^+jBvO-qw+)wU0GzDr}AO1`O-l(JwTwNV?x&G$^% zv1E@$vlo2I^W;{yLV=WFM#!OsXAPrRX4{)XHr$LWORwqUeS5TtWhtnOF&AO9CUjh^ z^`{H}c4=g+&^~(gmI*ZI#;I#xt;1=tEHeG$$X;HDW60c2K~o-0;U?Rz{_Gnv zDyUvv@LBK@o1P}5@eCdyrh?xydS4>N)6ZJABe|CK7_L!=ml*}NU06NIR<{{KXD5}y z#ewc#fP^$te%wjuoGe_Y{y89LO2m(!wDZ(;1U3>&S9y0rPQ@#7tVmxjQ`BlBs+pUP z6=w1QN$qQC}DeZgqBP`Swm9GGh3sJZ2GF?R$PPdBXUelfhS8nWi{*(@{m6?wZ zj5gQMcoP%LM=PM8T?3IoZ)Ft=Idwv!%-=)OnM_`@w8p+g3}%U9tpqF|SKQA}xjV{9 zU7Y>`E}e;k@6h0)Ps%7nMU&R*6!>w{kOy`|k-z8sWfj~Vk24l>iM~E%+wMJR{h%Bl zqzpZm{d7=c)6*4B?p$qkZ=ajsCXkNTUb|DgJmb)BFKmKVZ43FOuKX?){6UOVe*&4N zN0u~^Kd zIuewr6`AVWA$Kxeo$`I4;>Wi0VUxTT@gSD9fM+nYX83tsw}C5Leapr=?d&a9%^VCS z99t^BGb7?CPW{mc@Nc)^!_9c-s(wGQq`sjUx04{IEzfNK_Zp&6x@h(>X6rHF%Y(Rrn>xvTheEry8kX#?;PQzko;A@VFGtIL}S~R=(w4mN%@Vz+w1mHtu;B1UE!=e5GYy8O&nAJIg|`f*Z1@_Mxwp*?%eQ zlJ^wt!Xn|$$9L-mZ-Y@ubgQKiZ|q1Y$jv7GwAa2~o`dxLZ?i@M4Q6H|!=_x~goMev zXT|V(z+NudpuoXF_%;Kb*GzyH?zHu9&;_&f)mS1M+G=n0h1r=O)o;LdYk-ZFrkpsb z%=C1L;+T;`3QYd`H1QxEgP`^57VE0KbZgf~1d{9=6nUCplakRSBGDZIun=y`mY^w( z^#^KLpSN7eTbxzh_nqa8ox<+EQN6BoHh}Xj@cm-{k%{XpMqtC+G?|-6Fd}M8$6uGA zbDN%C73F4j%TY-rhb-moA)H0)C`P-Umv=##?tQ*149cTjjZv=va=uJPA%2#~FpB`A z${a-VqS{jTFS4d(i&#MuJvxk3V*|-9(A=Mhl~R7JYUQ|gjyVH93GlURRfaej7P#$1e`MB$M>HUkDbP_vh*`%b#~8UjbpT3T6O&V~$38YZthmQFbJq z9Ri2^@pXAzN8(Uv&K&Tc(oo;#yL>?d>m&b`YUm<5^9+&AoQ~Vy5L$+DXqbPuGe$hg zD?n||^VeZH!fqFA79xM!EN_D)S<~$>J+8qT-=4y@oS>XG-Pz`BS(yA-Db=!i3mT+p z92+G0pbJ`@n{B0lAon>9|TFIKj`ZV&(M}!5GS~r$-ur`<5QB=R>63d}O zPd*Hv&E!lsFAiM0ToS_)ty_vVIt)C^J5PJz2Wu|cHTj{4WtE0C(GrkSK96&r)E{E6 zyBx|6Kg%fmeNc#zk~+ryc&W&hcKtkRX*<8xQ)=AQ?PEVbYR*+M5r&S0WL59qF`iZv za5aro{QmO-x^J2KnIQu(NmeZz;?I{fqN9%7h_e!^V|b})`#7m?kVIS-Uo!Xog78r$ zQr#uCy?I6C>qxn~i<-7b20Qy@c}9mtEcu9}>r(EPb``(E9uBT&a9jm5ECUxo~ ziK;m5KrA6TF@jFA;OTt%=NO_!M`#P)F6JfjqwjaYF!kW1xcNf1PfNa49csMkj8$r@ zgYMg9Zm7~dg&LHb6(>zQG}F0fxSDTXwDv= z1`E08*=&nIRf~8qW^`~Jzs)HYm0XLqp##srH%7+5o8YJaU z{@V+Jv*!Jfg0|fsa&9r~FFn_Y9h8*_BQpiP4rOGMEjzkQeAL!=j_H0o)v%bhF ze5Y{1okrVo2*GRC@IJievC0juE0rt?biiU7u20=c*`3i~%Kv*PA^U~8$b^I=Gb>S$elNnlnRQBB68-Gk;o-8By1M-} zPKwm2SjtbIx#?b_T^;Ehu>~GHn$PwySgJeFHRDB_PRfw&|Gkaked~jU$EZNSDcUb$ zuzanf41U0j_xytP4{tp`;v1cK8Y7z+ig}z+(fzziY?=H4rDd?&drk3rzjBr|Ua1#L z7?rxxK?w>cs~l=?H5-x*S2#%zX8S=OYv;eCBrw(fa9T(ooZXSV*3hb z0j?{Cgsu51c4&WRz;4bgQCy)qPD=ri#GQJM4usYZ{k`p3V1~MiVVJjNa)yblca^8B zR`N_ON75(?eV%k)%yh$Yzs@E<2+I?2z5=!+E<`6~NZovvnRp!WcYxM|(6a&0Dau9V zdt$zmRzhcLdbj#{den1L(J9k1O9~4V{*$;G%}%CNGCIV80uE#My!k<_;d{hBpQw3l zw-&P!t^56zG)e*JqKw&gadS^GUF*hQEkj5&+OTKNKf z1yGP5wg>iNc~(5(5jQB>VITSXyMHaa%`@W2??C!K@q%4jNsgBYa}GCJMa{oiDD5FQ z<$hHaD%a@BPqtyvuZQ}zvSH^P^)Ye53N>m@S?m7qcO6}rz4m`lC9oGnL^eb$W=ty8 zN$~l|*B)tMN^o3Vg^a+(Ix2921{hdHUK zVTp;&L^mIRDF?SzVy?^O$drLa-?(NDRc@#D-5umxrtX$KVmQCdcMZDg^M+R0-dqsb z^HS>njvn0PIF#HefsVeUC*lhUMS@armZvMzRQg7)6q2yD#l_Z82zHj0-sk06PE`wx z8Q;7xglcZy|5P{p30%ZgnD2t+^Fn4~r=QT4(3g*?=?7{G?g@KA7Wo#GFsRfD)^njh zAX5@&@=cj>1A0)~T{L&M?~@gMVSeT5m9|FA@WXDP#oG+0`V@M)3!t1NST^5aKLh9lqBnxk*ws6=zkr(6lm6;`5woM| zJYZ?rb;M101<)x8JH4zDPi?vsqklm!6PxF88o#$I%J=BG!2jz@??e5m%z{!yoPtp_ zl!ZEZ+e5@KcfLqii*ab2#*$4LnTt7JMpdLGBGqJSBV8S-HL0*o=^u}d04q?zc6%}$9jWcrP}auD*0caI}iWoW+PW8vhEwW8rfy z#^|slgva{P{tEb5AtTtqSEQ4Vx_MDW`v7`}_z_M@`GfD5V*mO=hg}ib`Icb$rA3`a zZ@b@~&aBk^VL{Ca_XE65Q=mkd^e=<#eqJ2Vj~CrOn1UI8fP zGBFL5CqfBdMu(-Pr)Xc~WkJX??GyPx%o^BAI)t}hQs_Yg1HZ2^A?RoIDP7+xOnoG= z+{!Dw7x;;E+un+8lo5;=B0s6G?A7-gyPK>=IoR?xa_%KWqv3(c8)>Lz+8sXLuC}YR zbR)!lMD)CO_bTVy`Na}by{RHRzLtw_e&tb_2RAV{LFdD11X+qtQ5L(ELsX*!IT>c? zG%_^S`hb)5yi4KCgA#064VGX<&8RpgJ1MF2f_jUwRcF2U-~p{!CcVx{UAwA%d|Ru@ zjycT&sz&}kpAmj~)W1M%jA}tQeUC4;@2`kv1?XlRJ2Tad23ZAj%%3V8WG;Cl++T!Z zYEOQ0yYjc`bx4a+T5Do0xhn?G;e53!F&vwKImT&8tVz)DSws(}CEF@UNEJ z?^5D8Tn>`v1PMx&OdW@5cK#OtgFt-0N_KJuQ%lkQfOKKZK&fQCEuWKmw$8oMmss8Q zNLxgG^~&V4s67S)_qzdr;9tC!<)hhfuokr;7)V00l@r&jdn2ey`Gier3_tPOt-UCWOjjcdzg{k=E}n`doW6ZAXO$!x=%?00AlO^a^0LWps)(QFc;JbYFX ze_p+EUY9VCHaRx~@SXLSgQ(cBq1q;vq%OUWfyUg`%oJHnIa?L9ws5!3kC3`_7so4W zF!@hip^k?q(Y0L~Bi`f64PZGSsVNBTl=&w(A8^lJb&b}d5{4>=CvAXLGj=~D9GAN}LgUY(BIXwou((6c~qK zJ78PTt@&*%TQgf0ACX2Q$(9;di>gTg9~6=5dhu)zYBQ(E=>t7N2~Rg2SGv`+^&OJX z2?Il?@k2E31Z{kg$9%oczbGg!sG-k|Dc&Q7#M=~F$3tjoO)S&A;b{)z?@Epoe_Zvp zXS$1E0#WIK{{YEOl|-0q1ndNq?xtD)093S^W@&XEADORd`t`$xGnduXGv$iuMYScP zA}e0X0X@JzSqi~WJ!ZPUzaxSY=v%mpsnlwgt(M)9DZ;1^vr^ml{OrQWIjI~ z&lRK<4#7AeVw*1AL5&B@8-&FHHu|Qanj0`g?~>U(^Ax|=dY&rzfQ=Ux>IAQ z9Lc|r3ZwnWBWIKALzg4)4<2&%`$e$w_TXc34KqlQ$2-+K(~#|k7xyKpGTi(mwC-2r zj3G(D?dhF9BfsmIA;oIOLR<@Q`vE{s(=&mY3GCLS-w!zlW2m&;Y5r60jOtF)O_5E) zI|DIYvr`b2WZO*wC{BYVzG8tQKsW>@G(yy;xg2%iB`*s#wL5xO;#*h6u0^|UHynW5 z45er+vg;}s@KC`A85rm;i`1rhD-DklPL{TnPo=aWJ-#%>Yd7jHFVMB*ZS$mU7gf<> zB7ALff>VoAuHgysiwO%tJU{$F<=Brw*QQ~B)&f&aIa18&ihwHZ)~{H-gC5QUG8=<0 z$x&4yg~wR{_XXDRiYdIPdA# zn&kDqs`0!#(+5j0$MmLA#U6;gw5yo-v8MBXJzes?t-eqA^~T#n{`^>#*F`4KmB3*@($k^&~EJ8qO|4Qy!VT8<7m)O21f;ceIB z;-zdniLBq*&7W~*{j7LzISsi{nk};;3rv8^ib6ueNl$W0i3FasSP}I$$K-Qk1R?UN zPZLXJY$Sr3aX-?aeBZ+yf4=L~si2)FjpJy~y50PlR#7jYKI`nIEsuK5OgHwAG^_1W zLCy(1FY0|dIN>hIcJqBKO}Pc_){V!^JHh~+l^oExm*P(pvYmp5V4cX@Z9A*5cYTuT z6Hy)i02dYP#zb~QVIkt5>Y*TjG7@u+yz)+#{G+}i8xwUJkkPNx>rFr0Eorg8jYDq! zJN(1hVC+=;565kNdk-mG$9{&cp)oBSkr65P75(1gE6td1Dk^f@stHn-az=VL75G~S za<~v$7Tw29D!rw{a^AKa^}u>(pz2RNAaNlGi0c3wx?BUW+$00;1v(aaKS zY};c{hMA z#H#lm{{S+M;?nDFu(c(y+#sZ%0-USt^78e@JM`0`bWcs2ryE>!<-+{=(2`D$L8T~O zL;cZsq7Ny5)5-e%?vX;N&b4Q^#zL8s5?jOA{I(&?a5CD6C0=0)P|w<){h#%meAw}Q zOns+l;&}pX^sd6_+W!DK*O%t6eRqs2c1}Rtb=7XOHXb~)iyB)zjUm<~+s?1{Q2dJN zPN8k3x6t7C8FV1!wGr5-tTbNZbbxMW`7|VOJ)SyI`7tyAK?(J)jQ$qyFt+Xk)u2@D z4P7fqa#cg~Ql-AOm}Tc2ir>Cepy!J|DC~Q9C~k;?cJ5c|sR({DJY+V>JNl1VuOJ&KZZ_5K|fmlvost1;zDURy`RUN_ukM4vr! z;kgiavkoimu^CA!3sP3lX-QBdeZY?WdDQ(eud=6gkItU5R4Z9Jzr+3?)&0aoq*Jk; zL#(Q`QdF2Nvg(xLklPI*C`a6^f`AY4JqZ`L;f$!)w(H+SKQPtrq4CD2#}&e_N~DWN z0FtL;$4b;3Qt(uz7m3P=^;b=z#ba~{K*^9@Q^s8U80m=#VlynLtxPwD&=jIcBgX(A z^y!HnQEIFj_V-XuRPj+DWx`1~^~ZD7Z34b??Oskwab8~1QarsC+?))5>(zjP#-Mby zc&bdYzZEGU4%x;JZr`Zu=SmHH#=5k7M(e8R^=P=>w#ZtoL+esw*iL;h(6u&_;*j5; zbrhsz|`KEB;Fa>e&s`{lg+qL``AJ+BFe(uG?9!A=TKiaM$ zB1R5XE=rtt-U%36tH~$V#B`b1-ivoiuRlMf6&Vh&ASVj-+c?Kqso5r1RBCD2t?HIj za<`HXBXLVozD|a<#^IlyINA!NN(4L>*T_& zk2ay`j7N~-QqyTkl7iqR^X7m@(5tL=HdEl8+Op@G8|ZuZ)!7Lk(P}ZI{Ds`Ohf}JS z+kDagC&U1BF+G5ygpWf!@&Dt#j;Wotdeus z^|H_D?Z!Sw`P|fA{$4a3ZgMITJ87OqxT0pd>rk>!SXa)VUH$)GL{qwwqk{J>21! zA9cpc$OMHP1K%G`w!J&wvAw~Pu?J?922W3M7Byb)d?@buNqJSX(pKGT;XjLeL1i7r z1%nGulhMP@#Vh;5a#WH&;pOFzQ+nsTu;Y($c?X8upt^FQ@cMLws3OLoTc;rE$(g9| zCnE8R^eUaL3#!r_g)$?xj{XEBt~_QZ$8DF>A+{6tl`ItFDhda$C7-Y6%{Q%&H>edh zr)uAq0BchQJWN3#*N+NAKP5g6aW41B`#pZmus^9^87&yRrVH)GwXQEAl1o0&Y1bJ^ z_8(eRl(+(j@gVi?{@d!4ONIoaQG01%x{*jaluQyUP=I(*>%=Zv!_fG{UbKe`Y}WNi zuT?p@LWJboTZ*USE(e%QM2~I2&^|{bIKR6gKXJ)rbcj!=SpBXJbFNS)F8=_9q1!W@ zY!;f2!k$6Y==TH08jTd)8j7*WOR;XnWeKow*ZYuz5f+53Hd_H+<~u0_WalSa>;slw zTH>R>hn9xwu(UByFZZUv+ofSj3K%`qq>N-9=lM=L^?jz}m1WUQtwKs!OKEW>SWxcZ z83AAYU3u$UdeU04RPxeXLR4IEW5fac!}xV%g4OoLugaAAGL;a^ZGBWv*Xh_EqZ7H* zOA@_=jIfVs0Rboag#F%Lqp<$~ey?-fMSQ_}$y3TuP5{CHD>=`o{Re;H)EXUKd1%(F z-azH8KaAow?#*bHEoC5@ng+pC*+n@i@j`oqdVR+L^(k6f)d^KK7RIU#pXF|!u4_|n z;A-}^mv6Y-eQL37w3g?-QwbHx$429&E(_SZcQide zX6GBnHv20%&#DfnrogAKgxiWOu!c|ATWBODODR4_{$(q-Ldh=UVuR!BMMsX^x7M~7 zbM@U8L`4@MF&4R|oUoq4OR?icagbVA3kfM6SR*}^fHRJ(Eh)LRAn*z;Nci`A)g@WW zu(hunDk3OSFX9`n}e<;A|C%HY(g%nL)rr|uNc7+Rxvh(exc-So`b2U1tJ}E1)0ksq3g+5P(KO?khJY&YXA06v+@AuZzWm~b+ zSk`_5VAWbMT$I|Tw3M{M6#5cdZK4iOap{a7Qe>mQpV58dtSyP&~X4(1W+}tuhvO zXxe=>eI)%OUY)bq#&|tn1{?AG)L8M5r~TsM57W(S?0rc3^-#*#H}L1j>BfjStgs~y zZDv(+mW5>osvW(Q4GqYuYCI+s>n+8QsKePMw%YOo2L(k#xzBuHbZ`4o%@*j`=XRbS z+Np31cGnS8+g*!XfmK-_Vl|s~xj8CI->e8oh^C+S2#}W3g$Eo@+VYe_SC1@onoP*$ zlVq0R{$vEsZX8OiUm_VgI=L>>>P zES4;{6jSrHDadnxEd&u$uabK_K3d><+Aco1NwJjkBJ*&qWVnqsL`X%2g|{^*43q-2 zuLUJ(NKwfH9*yn!3~otoI0MH-KZ*iC8qgcclh+Pc>>n9VPTe&GE~-9NTv(~*Th~KB z0J+|UT$8-ta*n}No<-z%1?sCQCCKQkt$^ZOawB45LJ}43q@~cmy*L14w_49=VdG=R zwXM11@}%8O&pMiPQE%Z`w!+d$L+MM5t)=-PZLE1ENm_d-5ON4T`rME}L1D&{FcCw- zP!3WRpC3hk<=39M$xp)89E3QOE7@!%L(xb0cm01}z6>O5S0Ha1(MWaAGJ%4Y{{Wdk zKuF2SJ$%p=E3X8LRvgRf>PA_SZD$siBY{LcCH9&~2mq7)MFWAK)2m0B!Gl_?J8dlv zW&PCnCsDH5w9YlzTio|OWy0O`-+D7JAi3@a%0QB&hY0l~kO%$UN_IaTeL#Q(s~L=C z{b*q03oW;ncI}4ybFQ)6wpk2&&CC9y(V?bus(B_8O{EB1h-@IGOILzP>@m_u^+7Yh z2GnQzjf`+ww4GwAGIkYQs!#WO2<*jv8`B+3#K&RMkeA+NMFGR%+!WYQyKoFkxjSaza^zPDMjBl07{fs_vgfg6eS>mj{Q_-v1vdx z?OK}}fR(K6=06r{wDz#MS|WDY>wOSvtD6a2qTFWE=~IY9jV&H-6WPL)_~hfzb%pmw zx!H>mV;qG40AJ#m^xR=3z^j*yIZoF909v$&sCC?Nt|e~4t-OvJYt4cZml}^6G6Kt> z{iS|mC%#Xq@Ghn9nVlglCHz7)<(&S*4}s z?ChLz`vf7xB}lcHwL6H&Z3Sv%jQ1Xc)}E1>m}UX4cITcz>P3>t-@>WNh9E6^LfaqA z_#YiPAypp_Dedd8B+amgKK)KaxuvtJX~$)M{A6UbhmzS>+2HXw1SoeMdfqRvBgtTP zTbbaXgWGf@U3t=HXZm&xt$!8hT-*DJ^Mz+O{DRi4^?JPyTOpfhwMk+V&BRFaXD=bY zW#xHxB?Sl{%95|Ur#aGN;NuKTa@PWGbT=DM*j|TpGCb}&Re=$z9fsGE_`MEV*~#MT z`B3R;V=ZvwUc`CTgg&~~iTr@kAJlO8g&ZrYF}C)AA;g^N;@kStqg*FqA6^P(8pMY~StJn!?we z&O`%Ca8ybPZld?;!z*~&VLsPHsE0G!K@eyGt z*1HYHJ+uV8sFIh2vR8yUkgqSeC=-sE$?gf`gokWILea@Nfv*beSP?mdmEFwIBWbvN zkD{;DH69PxwEji1mpI0^{8;6n@R=GDz&n zw=q=$DBOI&o;!Rfsk8Fg7;8|0YPKo#er!h|Yv1R3%5-YE>#T)YYkU2<)iWZ{nTSM& zA}omyD6#`iyc3KCCkj`OMdV^&HWZ1$J5V z-E0*aT**?b`1#ixM0m<=fa2Jc!VtBkzh%^qBob7AOpdB^ zPScUTP_5SD`j4lL3z7k9H(CXLELiWHQKyKpFKzcd^N^t_z1GH3l=DwCN1yiS@q*U5 zZo2D=``jr>9!e)2YqImbcYyZ>06}ORzvER$2baumLq^?GF28u#H7S*9pys`H?z(>; z)xSLgmJKU4Y&iilWj=gcmeQJVrGgK2DFr1bCrgQl$F!jr7d%Pj<3c?_?52bJPu17+ zf5_jL2bOro7Tu@B*XY@kG5HdwK#ypNrVxe@@hN6UvW5GMvw#9dJ7cd-=(ucdJ4oOM z&KIhC)zGTxDch;5tYN72^~{AKrkP=|+7OVXE3#6M0MAVyCn{LbqNx({ zg4BT8oKkW3_ecl*`oNT@?nSkJX~$k6IUk~&_0RC_*L^WvFKSjih@NN7mcz?r*;ArO?{cr5_|O1P{}yvh&M;Y|`IL^Qp39y+A2mJel%iT-4h| zMPsSbs3_vL^X}EY+X7%h5*u5dYIgxj1ct(Ufr4|@amLu*2q37`RAhN^H5=4z-QMaE zA(*Px=w(Ix#cordiykBK8<3Y4=YwHO@-8Q`GEx$+yFQ(AY_HqOc-4%8@k( z%puPK94ts2M|Dum?34)4!qrvATQ4G}8yaq-sLGA4M^Yt9M7r1Bl*^8^yuJCX%R{cA z-vSVl+EkJ1Mmza@pZd!eBPr9ck-2ZW!AjU7cNOfX)Ad=SK;&_v#*cdC9#qk%Y1$^A zTR(fTrkNV5wj4Q0tYNum@uD!y( z{{Xcz4Xtj{Y8k>GwlIoZZMDT`ALs){O!nJ)*1-grR$j_L@lp%U zEIL60Bmzk}>pP2(+=*H0IYNQl7l}oyvKsaeD76XhYP-)l*-bSX%M&J7sY?io-{F|B z!u_SDRFbyP+VSb{EPyb43G30_lhb-r0WSc!Ey?4{<=IJ$Qp^ZN3&MmwujA*+t)H5z zHLZh-q*7|Jr^SwknUxaOtU>X^PguDH=A3dXp;=p?c#q`(9y|#+UX@D!TZ;!L*!#d9_>eCoo5kWW{U0;=1)K z7A!S3L>xT&)Ez$B+aUq4q@}#$AznB=VtvP)J%2(bqe(*J!sKxI(?}yPi+i|#6hLvG z%idw)xqq9;98(JShjoS+bsQgI9Hx8rg~9l8L+T1jqn6TCOMrP2qxup~2ee@S0942x zLzJlmkU}X4d72Jfr}5H`S^S@2$=ckj?narZ>-=?g>Rp)2_A{(3HP>aJzR8TE?fs!i zLK$zv$qG+mG1A;8G)?Ko97>_k4XTQHcGO%!Z7$9K0Oa+pey3-2+cxqUwf@(nxopHy zT`Km#%y_?GO3RPH+b!oy>;RKQso}2VPZK3M9KB=G=?#N?Awrl!N5( z&JcSH;ax+f;QEsoo##Bq3#Go|p)&0T)CpJee7&_A&b6w=Ufr|b%v^n*QY616ino|? zMM`;Yc@>N(tuFZzuh+Q7(ms-L+jVPOaJ)#;s(xS%L33R5u@1T$uFkc$ zuA4VwS_p1y&c}HUlad0RO2I1bPjQph>)ZK{k`fQag=TuBYjya&H~#>2n2iT!x+6E^ zkW@g(03ONDk^caPPK(+FxKJz(YigBB)gfz01;rA31fLVzK7&4;V1tH&=Cm?ayhuYV z1dJyKIUR;i@%=jBEn11vwa-`=$Jp{zw$I*?-{?*|eS3BDub{7+-Bdq4a%Shpym7Pa zT2`emcG)4a1r-z&<<-b}VF5}{btxzWs|f^>JaN|qO2f4Ih4mlJb=M-2zO$%&)ZKSv z?NwZBy=(L^-b1r(5-jVe)Y9C+NA$uJ9Si&1bx2lEY-7JzOum$-pK&%LU!OX4 z3E0mnRIXPS(8LzddBsZEWC>5I?rp3VnXF=3+FMO6*^juky^-#AP7RYDQ8;YH8f;2yVqTgk%kpeNCq!gjB%MOnt95jTf z9xZtH`-vU8_~zpY1Z;YgQV%T;Wk};VN4tTbdzhzlR+%<#*{x}Ay~o;tik*74Jd{hE z(2&~Pk2#Qr*jKtdyjGTiRGbgD$G=2P)3K(I07m5H!1IsEpI1Kv)iyxJI1GF2DxTB5*uq|krB6l zDtx7r?ms1JOG{eTaDC4*kVwa2j=bBc^t`E`z0EEsht{1%GXt$+D0t>RW~1UrLeFR0 zAlExMd4FjHB+lseMuyHCVE!uD@$yxY9$E(ugAFw=-#Q+aB-q7 zjxa&6b5Nm6e>GHiQ>N#*j>f$!WzZtJme%O< zN0OD}#@4WKs)OWRB6m6%+)6E8pS+=&j_X@~xQ1Mn zLorDz4aiJK73RY7zj-b=JyV0^3F}eqW;Yu0faah4hPr$uF3or+U*>>5SK#})P95TE zzGSm^lpCUzU|r<5=KJ>%rauY5#5WvU4xyDapp-VV<&r!1$6lxHhC?f!;cJv{1h>u<0d6UB9^44P+$K5 z9ce8R%grmyXTDOi+QR>(0y%%9k16A1AzGI8qVf;qX$9eMjrpsr0UmjSw3_bAVIG5Q-@t zM6O+JUwlzRce~wDRnEMXD#3|xLr+@Bkt!r+65vvlycLkzT1uPnNbU{*`t)?MdZe(T z5PO35_Eo2A8M|6@dvjY)$$DySOKsEQX?%07t#4A&MhbEHG8GU+FQG2Bl(x!}Nez@A zA_4k$K-lBy>e$Zr6Y~DaTn#S)#;@KY_?3FZn2uCyiek7WET-0CE20wHO8W*FN-~f> zq<8Is+p9uS zmEQsFA0oD`(#uWWR{r&+R)tQB$uU}DC1b6j<+jvi_^mi_sU<)KALG}Yx7A~SVr@J% zt%TD;BUGab{{VW^wL*w{X5ki|(eOliHMk{CbheOG63j5_l%bKH-8*X>8l)iRZT)FJ z;QbQ4z59y|dcR?;)NcO(w%a_o@JrA=r&fTJxF1_htxh4V90e$6_;j(IUmfl(4;Cr% zsWvAAL0+fGzb*GYn`_xL{p*iDK51Gts^T{`@rSQ&=CIn9kI0Uo40z?hf~19ISU5O6 zW4iZV!7_Sayu4jU>bDo|U3)3JaEn+RQ9e5;mXY#)X8!g=-^C*1#oFl}QDLSS zEM(4*gd@ne zPaXvGqA+n{E+pRCQ9H=GRTQo>+AqE`YZTBewkYV4Cq}TA{atO8W}^lorYGQ}t+$wT zmHz-=#V(PBXQy7$_Y@EEnNxEAU-EicpVpcGFI$G=5Fs!%@vj zgv+w_*wU9bT$Fv5!w)zgb+CyfeXGjT;5#H^1Fuby&WN?d`AP<+x6*@SSmy2q+(i$3 zC&||QpS^5bZjG%$(llsliT-)E`v{*RY`+(GHbuCPvaj6ZdVay>dwDSGMrw9#$f#RP1`drK$ zPc(&~y5yc*X?vuR&H<*}xm97X%I6&-g8s5)Yn*+t>`$h;p5JzD^g@LmKts!rfb4eA z+o#0)eqL$=wlUwK2e@Jl+SZr<0QI>P!akbef4|zQ=pPxmkCyJ_a+UVy1DJ-daUQl! zPLpMowFOLv-gTJvY!;qh*0x)SJqGwZ=eHy9Fs8 z1#Y;%6|cTjO1o$Hb&zY?)(~~zze+igZ3>mS+OBJ8HQkd`w&T~f&39<7ZP`^QQ*m2$ zNoh!Vr(`TTgp=Tf1*h%=j>FfZx;|f{AabH#ze@@VNc~2VH3ZU6`GkH%@ZD`c7JPKs zq-#3%@Z@E}jF<_XX8Bug$XXea+E$2-N5O7Gg+s`AsCty2Nq}_Bs2wcf9zg+gR8jRN zmZQUiLDq(ii+JS@PUKAsLF64Cc8ACHN`4Y=T#T5n`@!bekmxG+G8g6K5S4lylabkB z_S9JTPMQa9DoFt8Wwr7vH`1zz=@rB()J|;%sTdjG$aZdjL`>7TY zqNxF<F~kGnN8*Xff+w4eYn&gEa&2dF8ydasOK_7# zSqRZK#AGxXN`Ve3Wj;k}@kfsw>s3MueJucL4lr&U8e z8s^IU;K@4m@)}y*@L#(YOMlEkaFP)2K=Jx3xa%d4BV8hpJH-P^nB@sG9K&Ta)PNj5?fRHooA zL2bv19m#P4N>BsS(>QLm)fpTA0M7R{fN{Cw$3bdo9uWg`S}#;j$z9W#x9vlE*7-hE zshU(cs+l|dM896k(4dqzA<2tIW-c=Tg?*tOc*=WsFzNkX41u!@w5YoN%ct?`!L*4He-tMueW>spaQ-@c2tG&1E3rRLvAJ@8 zt&(Gqw7iqgRYWS6U1+cM8sya~2Vc3PhnYs-$6K8L0Kq#P*xNqCX%w*?h|6eJ$t|W( z^7Hd`L>&JBFaQ(l)zHrOOs!_=15p}#dq+C5NK(i3`qQ%Gn%)B3cmrL#)S1_1ORHt| zRo~XYixSPZ2mx$KjKV{Y7d$|5D^iz}bx32lfESv2d-!jOaRE#<^vDqG$@J-o^jNBlH>T zO_A;x+W7X^F*|N3Mqs;Rmx(24OwxWW@RV!Kf((98n9LnoWcRkp+WLqwAf~oks&R!m zAiWwg+)6+TSZ@OZx29g^`+{sZ46k4T<8rS87xASFkA@_6&DX0c=Y)PaY|{S##TTd6 zTxs@6X;jwpL-saS$cTjbzARW$NOiRz9JEps^uX)II={d3n&SASC4}i@y4gFe-CC?} zmc&D-sHZS|eu9=b(oV6pYeo=z(r`mYTN*Yp+yY)?kIa>zjAVP zeFxsn$j2=x*#+zoLJmirSCfY3akXT`(l;JH+K~4bYwyxaq*Qo!DO0I_ufYS}0mUGt z4!(k{DB!62V;%Y@J~w2vIoBfp03DPldxo?+^96q*$98VVQ*A$RzNMb^)z-gV;T49O zP+O8hVUj}9j>=9-h#(Q@M@>DlAT#Wc0=B<+p>ou5k1(~!O49_Y9xIF`pvzIYDCY-fU+8KPPo}ha-VM@2pGuq1Eulw>02XA;P7>PKygN!RY$68DjL3ZG(~X31i^SBAyQ*0NHi2;Y+QN6=8g3L!ner{&){!0XbpG6eW65yfT@ zRNCNBjE~ck%tvKIdBAY@4$;|foV_w@1M(WJvEgWGuDBCZIf)5t^Imd4yA`Pi3Q%Ry z+<5mXJuT^2vSmDtyByo9o3tg7DBQiCod{NcF?Eh6(e10YYh}B66{ug~8e=Y*(&PSo zG(8NT1gG*DN03TLBLrZAde}wncFikZ(X{|o<9m_YNq^Wzql%HDP$xn08qefz!~XzM zH~oR#QcbMMlIChqSY^OllQ6yQxhX2jQhSn?#u7>K{d(57stj@Ifw%yliWez{LKm`| zZwT=7+NCtQ*Q6rqlU<6~t%kzC9x77GNho2kKEN~U-1&F!)EzVAiOz7f?cqT_7KeZh zXN`VK)$YQQ&%BwcQE8-{7LlLhg+n;|PpNCK=l%qbvy zi6h6?A5;GQ5w$8J_0Fdc?fWMwYuh|aE>wCAzR1djMXgP{u_w72QSd5|RNzX(#U4N* zc>}j&*XAt0b7jMpECg${Q%nB<73eR-VU0yDjziVAE;!~?(s8Qg$-nYL(e9?(nSqtD zmA0=HG<%$S=dGSkO~&fjn`BQlt#2_JryX@Dvz6?uCRV#@H6koF+SFDnLaAPOGYtc~X}-(X~autFCU7weo)%>)NG;pC?t& zAWcH;WwR!<`|!&lmy<2`67p6+8A?)>ET{rcZoNC(e$;~!GV)E;Z{5u;Zgih3st4J( zG{QJ{<6D}%N)ARs*9N{3dQ^)xnk$!U6u5@ahlJ#|hQn>Pkd*|S;E)P4{3(6k>=`v z{XIG@y)J1(Uhgbmf=}1&b)nsm){Ua)g$sLc#yz*6`2PT5xK86|L4UHQG2HdU&5079 z@#~#3LxU3u$j-T|Ob>Zho>@bEv3r7_J8a!0%LC=jeKjeMbZ~6OB zU9^0j+x{WM(_`s-YW3?oNoA{QNMHW|rew&H zNu*tk+(!Xx+rvdlVIR1oYd~)*=s$(F8m@fPH9kiC^2N(cwGVIB*pPQtLZ`DPtERb=W1K+n>8B6CQ{{SZ|-uDLGmsKhQ4m89TV@7gMxgpnmlOe^a1t9=XqNxHc<}l2WC}D_bw6Or!$hvG(>WI2q}mwEDhu zl5HdwXt(U_*uN~YS#}TfQp-zuMYXor zaJ&M&zbt?|j@m5rU2yT_dX28ndQ}7RY$K{8NPcXomL;_i z+B{tiA(jIEs|n5*;BnuiIr+Y;+{UwULO&GO9t9!6!oIdXbE2r*pmSB;uNj*yeb*Of zx9qp5L_mjME|A_7VW`{!!Q*>*9tiMi{^Zfwg|0 ziVM^{IMIW~pA2;h+XZqq+GJVm8w;(yF2;E!3s@dGVUScp4o~uS^c{fdc3ymfG|+x4 zjmK)Q8ZPT7YjvnX6>Jo;mT($rDN0f?>41UT`1?2(MBH>%5u*&19 zP6AL)ae@_}Pb`7cPLI+bj-ZtsK9m&MyYv)CYt+(d7-6O5O#$Lv{{WPapzo8`ghZOq zFR910hrmGok;mKh2e)4q3X5xy?p$KuNZR!kYIF^|VJ#{|2V(o*)n)XOx0!~*Tn(-& zaH0VVDJoac_2Ite=@CC1NIz0nzQm`EZ8~hvW00DsHHuBPHrcbzxubeadst>0cNU&G!3nATEfvbARORP!8>EwQu`Qo#^EQvr1{z+P58W_N?aD2ThAvHcKc(+o{qO zA#k5pbfQD6TH9@8sC~cy5B$LQ>jRh8GO|Lw#DU7%ekj)CLc)Mvsykj>e{b3&*Gkx0 z{_@yJ5Bsb3o=z~9C*6`!tp&UF_6#35IT(-`6vxknuAyLqsisy@U&$!W%A z?2fTAY*c$g#SJuu-)zWyET6D1!6P9@p&5-CU@vjnI4xH&lZ7oVTHxi>Z`M^i3{UWV z@0DF4A?gM7SaNW0cKRIl0tgUR~u~Dn?RK}AfnCp_D<1^oJq!LgH zl0r&wk_VS=fM>QDhn6$(NBG@xgxC|frL{mRabyW$F+cVkd7w|N2Olp!J#s%V)=qn# zd4EWy-YV3WwWh10Jjsh9IQ(atc1n_Bt~8$?c!jzGRp>sQd;b7N>P?p$M;5)jQ-~MV zvy(yQ&|0J49C@eY4u!||k@(sLh1S(hf3oa){d5?Y3YRSp1&7!VVU#rEX)E^zLP5qm z4zN%5ag#jn9#z~gWZhxkOk0-Lu`2H79(}OpUO(g7nDSq971QXW37X`6I_DGgpqwUJnEUhkhaO|Sei;TIR9ag6N&0emJ;hv&B--enG}YPBfDn0y8rZe*cTsl1 z?cb60>D-O6utbKKo}(|_T0v5pLoTSc+iE!S!c?R5JzF17&WH4RFmMC!;jMT5oOh2s z%|$La+S6E#r>}>&zRpbK2c$Z=NQ@%HazHW?#Ba~Sn+V5;xZ+lG-5?MM)?vnHkNlD$ z90k5(`qGSt202(1ay3}W_^-;B*4A8swZL_z-|mhzjW$)A(qCn@COns=Nqwatp=T?> zAf(_AslWZB2?8(^LU{J23g&Mr^zP+QoyX!2Fmk4~N2+rE%S_D$ETcK9I#{xuGG!?R zq?vN2EV`t&gW{9|0Qz+(`hmu4jAWh4tH|n#kbN=goF0dRs!GKu3iGIpPyz}gVQNufMncmWu=^=WLK^@!+iC0& zgoA*PKkRy2mi_PC;+>o-_~T7$;Z&({Kp`E;%2EKq`u_m8L$$#Q*Iy7?DSk3<=Z<#v z>fMBgYqy8tLbPy_mm{P&pxcR7KzyLMm4gd!W7(K`E>N~}8YrwPM;@Ho)g?Ab32mQZJ zq_sV@^cxMR;N`M^lxIGe`t=pBw%0f-&?v4}?AlAB?F4l-0l1Rk1;bNelAn4su!Opm zp&nBWc zl!XK+`2qm-2Oy-Lm=_TcYeFW3cTnyQB}u()^{y7y^luTuR#5neeO+m9En#> zNt&N%fe@j`N>--|QsejtDFkEz)^n@%(HjdR^S!q{h^zIZv2jC=wQX~U$PNYg@2AUS{jcYzyCA|8ddG&jR^}t{jSynw;QhbR3=hv*ap*K;8zEWDy7f=O`9EjelRbuKBp-Q86C0PzgWontT9dL z+iIs`DlIk3#V#A$sxRh}{{T8_pD{QGY^~V$S}R^k*ERNJw_B}Cjw&?R(U@>K8Rw-& zc?+3@l%c@#fb#@|k<+|yYvARv#5^=y*ssR5b`0(SZWljVpl?5TpO;)8$k63)x@<$P zu+kA@$J64WivIxWVna^Fom!DQWc$TBcydkFIaLX}hn6#(qhN;^CUIiwz1Y4O`thscc&;Y=DhRD6|p_}k?x!Ocrp zYUX4Co(p00iOEc*53#E@o>HTzsAt=CDn~5=)^62Df5fWFCHVOwc@a(0X zQH|cy8S`0wzX?=AK5%ao(l<^z;!YaZ_udt(fBPMFgsS9Nw|eweir!O)+f%L~)T=82 zU?lNh+G{1+_A;~Lg*vn2(fX3(|@IvX7wc$yTk7#3Am>^%yGo1kX8zY50_UmTA&oKV4$w$UDN5`vHt*WttPFnl{in_m3_+Zf^*xd zTt!EHb84$Q*RaiH8`|s8B(2LT$7IQs{nOol?^6;USOKpOBHK-ag^&sRPgq$V*AN%E zKR=q#fwWq^5f0kf{z%*O%evZn3I#JY`Bo3u*-b=*G3FRdCX|+*UI_D2hmucj>d#r; zr|#BcWw#wS6a>V&U8#L}l8Cg$#SDlSa<3G#hAAkwwob!TCZxyWUzTFQp!Q5K`f zKH+=Xl-Lcl()^nqPIe&U3FwZkJ~MI5;iM8Qg35%aKcx|f=Ld$RsIfeT&&M4fRDPFh ziOe!TE^B+u)c9;lpI%hj9c>Lb@3xtVZE9EEdnX-_r(QfdE>BW(oYicAlmwI`fYXU7 zT3EJ_cL0NpV_N>`Zq3)Cac>ZFyd7og*pI!p?e14Q9@geWmsD2;x1LByEhH57PEJ5c z>^gbV{iilF37R5YMz$lvv3`|6asL2~$1$Q*`mg7H`^P+UVNCqR^IsS4FeSE$RsdPU z_MTE&TPsY*lPQxQK1FM6q$uDFVD(=}_GD7!`pqRqpcJ?umXXS>n>>c?`5s@}T0c1cl4e$u(^eIu0hOwGIK3F5ez;{>1D)_F#BE5wFLdg{vCTywy+??Yl~C|5}@-a zso8JoS$?N0<{%We9(}#$zkG1N=iV>AriEV;qDGZTVfmKOtt?oNLn+mR31WJptMVL5 zLWuCeDLwJfoom~863QfFw!d8o=6H=3xrdne+FEWZ+jBzY4pQH$HK_3-P|e(BP5%HM zlFj5tTKq)5UJNxZRD$QUpFipO;Dq3M_UIn9)Nwj=Et*0I2o*aCR2|f23{HEzfT`zG z3w<+v_~E_A;tR=hwcUccY9`6DYGW@qTLQ(lktxY2bL}W7LL5md@jj!u=vg|0GO&(J zMRx)k6ZRx1OK5mePLZuvKUJvz05Nl3leF*Jo{h)$)Am}*m`196=<0TR)-F9DlH+ZE zAqiT%@PHJ5Q`q%qNA~_i7=EkvvFS4uWDMf zi0ef*+jAWXuuR6@TQkI`+Cp8BwW&T#G*o@C3VLhMa$?DIn&*eODuJLOK9wwpOBx)y zg`&Im^Qzf2eWQ^!8uN6W680o@x42JA;JIfq9JIO;+*h0~dwwn{Ab(KIIrFE`ws0EE{jl2R7 z3f@}0k>Y;TC10Y>Gn3Mch+K3OYb3SmMM?2bFy$SUEu_KB&jkb;2v{hQBIObCs(Nq-V?wcgLr1uU%<1I_9!mi-<8QXfHVK z$4#t`WIJ8?MJTbE9WH)Z%3FN6hrE@LR@n;A+zvYP+-#VqU5L6{pW2?4YZjmg=8bD# ztJ$Dzb@mKNcf`b@ud}ibNRYJ_o^frl8AU~pXZoxKB_xnjlbk7=*?4c4)RmyT_MY_l z@u?j0QN!TClIF=77>rX{vS@SkE2E! zTGs7rO@^gMjW)s|gK~<+;to>P?bBzg&O@>%ZmT8{RFdpLWxp7fc34LCTN)7S~l%218_g_=A8KcYdO8)rLihrt?mHi?~=a}^}Vs# z93Zx4eVJ0#!tbgZoaCk@ zfCH%xlCYJbN+;Y-0#>Y?p8Ys`A0tDHMeK@}JScEbqM)nWS@{nJYnM~+HYa4cA(kN8 zM6ZSS$%cX)9>cGsrH5NmK?+U|a(nu9g6h2wI%hsFPyB8KT&Mu3UL{kqoI#fx8)p)G zDnoh96`bwz0tsp)y2=~%!9>_8c+Rtt{k9row&b}O2=V@yQ9?im>Q7H&=?}rcWMruT z3s?Xemg8jAC}}1VIaNM5)2aCT!0>2bCB1b_*U`;+6Ip{E6HUH}Znl=*THa9dQCLXt z^u{}mpvju}(ZOt&zl{v&o4sxMqk5;}*Az@OvS)FnOt}^5KY=CaEU2)hWkqT73c|@G zk~&`pO=Kb7m<`;dk*(;LI2$dh@7FjtRHyQh61m4!>)_+cOJg5)5|n}1pQr28;px$i z7w2C(asqOz*IuHJ0xDz1h}smQlCp$&VJXUo>VCcYJ-FebhcZ0e)TOw|LVeOo!a?wF z_#dZ#)2NuiuZycBLS@vXC0^za@~0l50OvnJpVz6j3bWL;YvjTS_R^2$$V;IqSv`($ zN9sRbh-@Ob*H_9Qep4%DwGr(f>STC;3C2(B)Sr*ITDw^_x^kwC4NOH zK_@HDJO2RNJyi}VE<{?4vV@{bSJkU(lM+fiW=L!&!eK^zw2|EiP6h{IpVzG%7)@vf zmP+RxYF#~H;@DP0EP|j3QCiebU=*z5xjD!^6z3qS7}V0T41}Q_o$?@kxyk~RFb)O} zRF@jzXFB<6PxQx{fD8UyV;}Ju>c$%8mHXURw&!!=P7(%w>~|fXdOUqCQ Vbwn@MK8Lu@I<<~V)q4eh|Jm*`x(5IN diff --git a/examples/topics/data/florence03.jpg b/examples/topics/data/florence03.jpg deleted file mode 100644 index ec33b266a52f5e0252a5439518e6f26e7b4e7c33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58018 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 W4o$qNAr<&FajkgCKo`?JfB)I|Uz|1o diff --git a/examples/topics/data/house.jpg b/examples/topics/data/house.jpg deleted file mode 100644 index c6d311fd18148d0fd4e6ded78fde02eaa66abc2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26723 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 diff --git a/examples/topics/data/paris.jpg b/examples/topics/data/paris.jpg deleted file mode 100644 index a6d85ed574d600efff71907dd22375d4879c830f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67866 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 diff --git a/examples/topics/data/positions.txt b/examples/topics/data/positions.txt deleted file mode 100644 index 6df499567..000000000 --- a/examples/topics/data/positions.txt +++ /dev/null @@ -1,206 +0,0 @@ -70 35 -69 35 -68 39 -67 42 -66 47 -64 51 -64 54 -63 57 -60 60 -58 64 -51 69 -48 72 -44 73 -39 75 -35 75 -30 75 -25 75 -21 75 -17 73 -13 69 -12 66 -11 61 -11 57 -10 49 -10 45 -10 38 -12 32 -13 29 -16 23 -20 19 -24 16 -27 15 -31 13 -33 13 -37 13 -40 15 -42 16 -45 19 -46 21 -47 24 -48 26 -48 29 -48 33 -47 39 -43 45 -42 47 -38 50 -35 51 -32 51 -30 51 -27 50 -27 50 -26 46 -26 41 -29 36 -30 34 -31 33 -31 33 -32 33 -33 33 -34 33 -34 33 -35 33 -37 33 -39 33 -42 32 -44 31 -46 29 -48 29 -49 27 -52 24 -53 23 -57 19 -61 16 -63 14 -67 13 -69 12 -69 12 -77 11 -77 11 -80 11 -86 16 -90 21 -93 25 -95 29 -95 32 -95 33 -95 37 -94 41 -93 44 -92 46 -91 49 -89 51 -87 55 -85 59 -82 62 -80 64 -79 67 -77 69 -74 71 -68 72 -65 73 -63 73 -62 73 -60 72 -58 69 -57 67 -57 66 -56 60 -56 56 -56 54 -58 49 -60 47 -62 47 -63 47 -67 48 -70 52 -73 55 -74 57 -74 58 -74 60 -74 62 -73 65 -70 68 -67 69 -65 70 -63 70 -62 70 -60 68 -57 65 -55 64 -50 62 -46 61 -40 60 -38 60 -36 60 -32 61 -30 62 -27 64 -26 68 -25 71 -25 77 -25 81 -26 84 -28 86 -31 87 -33 88 -36 88 -39 86 -41 85 -43 83 -44 81 -45 76 -45 74 -45 71 -40 67 -37 65 -34 63 -33 61 -33 61 -32 60 -33 49 -37 45 -41 41 -45 39 -47 38 -51 37 -54 37 -58 38 -61 41 -63 44 -65 46 -66 49 -66 51 -67 55 -67 58 -67 60 -66 62 -64 65 -63 66 -61 67 -60 68 -58 68 -55 69 -54 69 -51 69 -48 69 -46 68 -45 66 -44 65 -44 63 -44 61 -44 59 -44 56 -44 55 -45 53 -47 52 -49 50 -50 48 -51 47 -52 46 -54 46 -55 45 -55 45 -56 44 -57 44 diff --git a/examples/topics/data/roll.gif b/examples/topics/data/roll.gif deleted file mode 100644 index 7e2a1bc2e3aa28fb61418115bdd01dd94ac73b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmV+h1Nr<%Nk%w1VQ2tY0HOo{wz8`K|Nnr1fB*mh|Ns900000000000A^8LW000C4 zEC2ui0B8VM000C3IJ(^aFv>}*y*TU5yZ>M)j-(ZwXsWJk>%MR-tI%xUcz)M<@BcC$ za7g?K1AwG*$!t2G(5Q486<7sFs&>omQm@!Y%1bVrtJmy#&Gv%TZ7L+LeTz|a`6EBI zJH~ubbAeEP4SVcJN|y3fKW z07?QdgIy9+b!!!^J;a=wf#OBxlB2#j&Pd;1M;0e?hj~*|A59=Is)+!)6 zi~cYkDd?pC9kVn2LTbdtvC+hF6%}4onUUqjh=opa+ZSo1OPl&iGV#c2jmVooXT~#F z4O~j03mpbkI)LameMgx}jmFd|t%OKdW^K9kXHzLWX->gVL~B*BGTl8PTh^;pYg^bB zaf`Mn)VLSQay^U2EzE?9zUOqS)+d)DrzteC*lvX`N3->8=q{HySEY#o%;Ap zF0F~#0)ojLpx-Rr+Ec2AxAYUtSY(%+u` zxj6aDgY74teb&{IUt2JVHeOWVC5T>S@%1L)dkgw>pb-xK2BCrM0WqNx@U;=$4jFb4 zB7<|4s33vlfplRIDn1BT93$HBA%7d9=);Wz_Sc<@9lpRLg)AmgqmVIbI3piNx-cY& z6$a8IUuK+0$CT5oVI_?(Qd!29B6gYO8DKJErg1*rcjlU#9meLHeWh6-oOJeh1Q>Yc zspp=2_UY%Jfa-Z?poA7`=%IcNis+(@HoB*xjz%h}p(Rvm>7|%vs_CYjcIxS;4kQ2o EJ7O_@E&u=k diff --git a/examples/topics/data/seedBottom.jpg b/examples/topics/data/seedBottom.jpg deleted file mode 100644 index dd98337c95844659cef8714166bfea723e88c0a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13319 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

    J4b2l`M-Zbz-X|zQe)3X|} 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 diff --git a/examples/topics/data/texture.gif b/examples/topics/data/texture.gif deleted file mode 100644 index 17e84e80677eeefd1f0609e1e2c37d428e6f6f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1829 zcmV+=2io{YNk%w1VITk?0QUd@000010RaL60s{jB1Ox;H1qB8M1_uWR2nYxX2?+`c z3JVJh3=9kn4Gj(s4i66x5D*X%5fKs+5)%^>6ciK{6%`g178e&67#J8C85tTH8XFrM z92^`S9UUGX9v>ecARr(iAt53nA|oRsBqSsyB_$>%CMPE+C@3f?DJd!{Dl021EG#T7 zEiEoCE-x=HFfcGNF)=bSGBYzXG&D3dH8nOiHa9mnI5;>tIXOByIy*Z%JUl!-Jv}}? zK0iM{KtMo2K|w-7LPJACL_|bIMMXwNMn^|SNJvOYNl8jdN=r*iOiWBoO-)WtPESuy zP*6}&QBhJ-Qd3h?R8&+|RaI72R##V7SXfwDSy@_IT3cINTwGjTU0q&YUSD5dU|?Wj zVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2Y;0_8ZEbFDZf|dIaBy&OadC2T za&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R;eSLm@et&;|fPjF3fq{a8f`fyD zgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|uj*pLzkdTm(k&%*;l9Q8@l$4Z} zm6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}ZteprD|kp`oIpqNAguq@<*!rKP5( zrl+T;sHmu^si~@}s;jH3tgNi9t*x%EuCK4Ju&}VPv9YqUva_?Zw6wIfwY9dkwzs#p zxVX5vxw*Q!y1To(yu7@dCU$jHda z$;ryf%FD~k%*@Qq&CSlv&d<-!(9qD)(b3Y<($mw^)YR0~)z#M4*4Nk9*x1lt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4W4l_V@Sq`1ttw`T6?#`uqF){QUg= z{r&#_{{R2~EC2ui03ZM$000R8009UbNU)&6g9QTw5I|r+0RspUC}_~&!Gj18Fg|d= zU;%;y1`0G3AV8pi0R##hIG}(*0|*i*RJefQf=vq)Bs^%K;G@U^B>|j#cwoUx2^KPN z@Bku22oN4RXuwb*0>=agewuuUU}6Ld8a#+Fkzz%Qvno)K0MP*h1qckViWHc#r~?TX zIEX;eLWYeTJb3KDQ6t8R5+5>Dcn~+Mzye+GUg$uA#S9%mj4Wx=gh`SiJ#4^05n=-c z#t8}tG?1V{gbN-@w73yOi4-kf!if3OrHYdxJ!Gg5q2Y8-fd?2ssL-K=3minAY$?-b z&K*2;6CPN= zm_W)|;K2zq1OWvYZ~W0nCZe2z3MrjXV#pn5TyaDWEsT)C1Pu_Fo(L}JpoA7}`~gWQ zuH@p&FT2o!N+yTcF@_XD&~QQr6*wT!0~ByzLV{A1kw+t;%rZL63jH;lylBF+9-nyDURSVh7&%(;Nb)UL2v;GE$Fa> z7j!5R3NFof!_GYPz*CMj!?a?_A81e!#0(~EfF}SDU=TtJJ1_yp9gd*#%QWT8qt8C~ zw8M=uvS=a*8&?qjK?4dLP>`ploHii_9*>{`Of}}v!%si?wBwC3v~V&=8?nwntE~V$ zaKU;zECGfcjFiGlG~&F2Pd@ahvyCyZWD>|4RtP~U2NnEi!3QefkOUWT7~%;n$Yf(q zJMN?djx@iZG6^4LL;*w$By1qTkIbDw0})oF(FY}`=(5Z;+<2o+G{eNwNg{NB!2}O2 zh!=rC4NR~B2{8QN#20cLl1VDK43ms9$M_OUD39=wh80EFpuz_ha0!5Gd#Z3l5mlIh z2O^h{(#kBf#F9!Uj{xFE7ftj4g9#i=;3EJEI1pqBFYKTM7H8Zsh$EM5!U-mlAi{?m zU_>!Q4J&B>89|5uB*1_K7=VDn3_d7v#Takg@y8&91i}X$YIG3=5jb>c+JFEUuz=Yb zgrEZANJO!P7-+E3h8kvofkhKT;P8S80Y(tlV+ky<+y)}3AcGD>%0-BXn?q*gY9w5&{wk`mS|-~ki3fCf4M0uq$q1ST*+2}bY%4!FfCJ;@3I z1fmd!93XcUnScc_pn(l=;Dj5h!`a!F`;84$S!>T;JJx>oyPx)14WRIU3ml>R^A|-11?B$?DqxR_3fKah|9?EcO)BJyf?!R&Uf5v~e16R{fQ`6AVT%-BF&iv0M|L>hYZziM@`8_ zLB&Q%%|`iWg0cY+kd}&?68QVygYG&l&9xiU^i-4-48UPpYT&{D=NtuaikgnWMiTGrIu(>pPV!++f)k;^L($X9(+)9V}i2mkyE2~9|Z zX6NL>E2~gwO#i^(yP4U|t@qyu#Iy4YHVR5$ny=B(QeUH{rK6(^0Yqk_xF$-&u0m^Y zWa~r6aVt8tsJ?Uby6Ot&j@a>iF1s7tYQC#6;%Q^WC5Ak)=?z_e66*H5-5Qcc4*tdv zDf)~aUOs+l8QI%+G_|x%OwG(ej{iv;5Ev935*io(@DU(RCM*k(sI;uS0+6b)sTqL; zMC*Ok2S_(QF*!92h`5HsuWtZye)+n$e*g%3a!Mlq^9vC9&wC0+;PX(i0fOpN^i_qg z;1Vz~w?l}u;bT0Sb6(=hJGh>%8_KRBxY=N$V^W@YHqUHnq{qkS9)==LXa(H&t(sx$ zxC)Fe&#dOUV?^^8m*n1#`P=5iV@65nAQY8s{NzH*3YqpwI*%=if_8%46pQy5cAFm- zdi$Gx9CsG|ex%4DoHgjfBpJJsV@JQ0Kb z9dQ9$IJ3UfS{l}iNV4@GeJAiP&FUQspOiH@ySA;?b1`Gd-36T4ASGIR=~;7Ydu_q+AwFR%l^jEpw4~G zPdMTb8-+CTOp*g0cAU?dlZ4eZ=h6r{)nX)J4g$>y3TKr3K4UyrxIY z4#)1NB?%~|>Sd8DFUGw;>NxYm_%CxEGPHeTMakyqYJ~JiB2EDD+kP^3L^o~s%vyEW z3{e|j$njQeu4uMD>4EwRZidO26SusI7m4>bc3~fV3U)$+HwqfQc;)w+TXl@SlVeS^J9nDpn`>Sg_SutJW=m`>&8KB(xA2N1N=&V(9GBp$&O2H zEss=5Ve5}}`p(kG9HP6W3MfS$a4Cu`J7g4gw> zqsTr*V$Qy3(l?r6&(_CpI3t?ly4QIcEYTYmdZ-yCPi4?Na~*bAa`HG^aw2MI8irp= z-!1JS#fP2BaTDv+10_%LA4L!!5Xp4sEcjO%C4VTc#}l@}i?KU=#I)uk%lp#Q_SQJf zMKN6=2bq&DnuNxt7d?fle1h{-rOw%rPN@B45lylu+gVcFNTJwg7dMKft%q+kzo^$3 zqL8h1e7RNbAVl6`Ie$P=zOA`+U9+k&_wu{<9}BU#EOKnkasFK88-{|a9WGUJ7<#K6 z#aY>|zJE}3tR327M6V^BR=~yz)0TC>jBKX=7$FE%MlLyFexA~XHcfSYw;RO3bZld2 zXoXEc6?@3W+Ct_W>}{WT(39R5;`ePk-Z{_abZ@h@xcun5jHIi zm5r@Kk6*=4MtvAQb{s zQ_js79(M`xca4b*IL;eF@(B{I%hzSPeltBDsOsqDTozw@ylp>gei#0L3{3-%Ke|2| z1-9G_^}b6-NnbukP;oO0ZiR3I$`V*!29%xSpH# zmWf4;fArP$#2Oub+Lc=qOoexSvey1PE2XN1kUmEpDDTjdm_=QcuO83&gRBWIa+96) zQxn%v50TY!duk8?9X2wROIG%Xp09D7j?y<3u0kKXT81_U*4JYS5U+3ho>m1D*d#P< zjabDug1@j)|9mvCh9?@5yjBWblj2s$a)M;^`gaSt)r*Mv#DuSZC@gprnAFRXZ0DCD zYW4;kaDvRtM8GG>EeR)q>o!e*`44RO#WAdYLR=!tLIy>bU2{}nOyJzlAMedNbMofx zp1+Z8D#C%?97>lY%%+q-NnnF9dms7V<>%YaQ$UB!X-3r?&K#+6;YGO1(Yh?_HO>h& zMH*WTg`@|84ihL@v2kqFY%WSg`VeQ2dzlar%jR=yj36cx>4e$SR;#&~Txm&vdU@qA zR}(%Odv__*KE|&2u*(%N7-(&{~qS<% zZK>wINuF5sLykBL0aA0FwuoVNtD{=x+D>oHt-~p5ulyakI_QJ@$JB1}ThQQ;u+A6! zOgKo&9gePg_E*oAoKR2ZJf4*6y(HB&>&8q;ceY#C)&^n5q?0^+NWDKRj=!@zqfp<_7+O4m&Xr?=&Q_lj{gbv@YucUvZX(|48RbvwGqZ z6Q+Jb&xu3zM%27Xm8)s7atP*@X*RVlCu-zNiW8GxZSTyZl_t2@Z`RnB`*98G)z{a}Ih|uI&A?gaf_`{b2t|fc~ z9+bOwo&+?jv9T$8#artqLtDY?>r;ev4L=JVG+08s$n|d5FVSbeJzF0fJ&C>Xl7KhT zOlEFW4ycrCo=^CIhscL^5WnpNE18OEi`fmuJbw4Gqj=t`e7oHdr^{V;`y${{rfb`5 zUPxn>?=N0rp*3PcwLr2mixJVu(OS|f&=-bW6EWLddcrE8hX#iBv?9#6X4G#4Mm;x_ zZ$dc+1@vL@?L507)iG^uhwb;ZC)X19Ubf5?vFvGP@ajIKGb`hJ%y*7457CQ#Y(*Ku zQgI6ha-k~OOTz#TNRfQ^uo~;}U=#{jn}5AFzO41zqnU==><|Dl@Zb|Nmx6dt!lD?& zSXjZ_I+_brJtGxamFdp%q@RIEW<2}lIH<84X*ldpdb7S*9vJ=_QW)?eqVaBgACy&MCIFHoQ}cA`3L(l41flIAd58d@_5KVGxN!h zrQ(-FrY`hdbJoBP2@U49mlq@2+}KJLM#)M^OZw`#&h{cx%T=mLgr2wTNIRrBu2BJ+ zu<)C4>Ue&sz?{yd=2pl3=H}Xws?KkI`HXgTf@Yz<1y!}mXmwP}`~I6MbaL)rjF}mdv2n9r$GrcGbcqiEswD^b)8RiQU)C`{^=doB{kPH`li2J z;Bp@pm!Jl2RD61{h>nX_ZU+yuY0?T`KqXPQIzR){o?L9_^ntM#w$j2on z{4Q5pA$ty{{)q{!9LXwht00iwoZb8bC4HJ18H%+>X@01!)Xu9IHrr7H=R@xi9YeA% z53IoHy?S1An|Mbd1)a@(!5+xAL#M9;z8iFlZJfcue!ADFivn;^JmXo`9eS;{L6?=! zc7HRDtNyrA9vpTo%cr8#mlc#dZ#Ki2u+3whGj^u4@;roVi)(1rx$m6qHJ-?*&!L#H zV6gJOU=Uioa8}??<|Ej1zdc1-D7W0D8G_O6;~c;E zG!)Aq3>|ii%!sE^`D6!w_e2xlLW;3{9wwJ3V_5xz-dt@pf zK|TF7Oa8AmUC)=V@jN>#YlXI4l}mI}QQ;y;jl_Si8Ndz%^#Ynw^m6U_?Hr7xrPA3D zwl;0YIO=){st#rV8tLhCri{Ku*D%aDT-9qoDm!xicA{a;P&#ZB*Qd00S(8M2C)-TA zWBy?|%w;dv)jjy{EeTnp+6R9q?&rHJVewueWeR2+SH z?N)xVSB{qH8VN3LRNgJwVYS=s=~1@#;hnHuGFr_JMLz-+%q|RS#1hGN$lb?yeLErf zrQf_{1^7vei($KGt=f%06dEH&)z$M5YbEkh6*bdCX1d|h11tH56tP;*6g{D8}(~M$mQ-0iD~+XF%@S};lbmBdiOQ75yg4Lorx7IA)OZ5okWyQi~L0S$l!EjAv!pl{@wjM=A5 zweeN&(cmp}NN5wWV3rR#CvH?{Jt6Y zFQ&wM*+$XxZ4`@j5mjql&^#$#LtVp5G!Y_G@55<;tb9`Q=0W)fG8A(c1F3Ng2mh|n z9+Fepel?!G>N60lxvN<}aTJ{awrOq}Z48j1u_T)rd)y0qhuwS5s}<>l_3>nkk6-oN(WNcw%fmf3@4HrTWYj9_6seX|DiL_)8P$rP%U^gdYS*K2OpP~6)2Ux zW?_5M4HBF&bP`v2w@yF0W(~aHqoY;wNBsBnG#|YZ?dr;dW`dK&@#R`klqb^4irIgx zAy*r4h~;kRim$BrKs+zgL{Ke2IGwWczWa>iWuezFz$;bIs9snnH*;z=s7AS5wRx1zJo zyfUI^+^Ir^K0ifx_B@3NgW`%a&o#7Z&9(n*5_lfmNqNd@AjYC6y|@p=8T8JuG*Jn? zm_^14kv6K2=JgfHzI7`8E$4*S+Fx7>H9zwjThY>S^T?mk`puT9>h!ea`!}SSl(Q(L zBgRMcfHyZ?;ZA6rKBl*ik`qI zy9Vzi2xlS-4?@-hoMeSs8-ZM^;<#o!Y;a(OaiLBo<{uwIom13zQRNT!VU~`yuAuMS zRf9S+pb#Hrx^PTTZDx@O-a-$8o%SXr)y?~LBCHh=Ht)GLLQzkH178`UR z8Nx2Cj$w*0gyB0z-9+5o{iH^V61ZPl?qEW4Aw9!Hv@)`GJtGuFi_Ng3iiQ3GarFZ2*M zW7)AJP5Yn;y%OCZ+m%2saR16ABZ-&E17bKSEC6w`@gm`_+-y6U86wh5j{wwyKf{0Z zd;x`yYoBiv!FTuI{=d;}QPQ1%isO^UjkLC+SAI%QF&~R-C&7sWIl0kh* z6J>SCN4u%qx@w2GCd)a`lSlG&b^KgvWP`iuY)^|{F_oL!GfDDfd6)H;$ak4}x&#!S zXQ~b`);swYy@?WTw=KWaKtYoVNU=?cSt4@|ygyu#bLt7V9cDLSJZ9t{q9{ylH!HH{ z>!2;facDu?c_{B1L%d@j08LJh*)Dak&|jf$d)6bXGA1EVXdBR=xnQiHnxez^fV3lO_kG57IWx7k2tY~U4JB&_l`J1B46MvK;0xJXep7y`twv~0BVR17DHSy! zi3KY7@Pq95pY_#72?2`knk_-+@%|dBoSYr4%JA!r+t?e|e#ii1+qAB-@0R^qAL^5B zVkB1AIuEtA!GRd-6tPTr5!c9xt`i-C*vx@XpPLRgjO4xvPslWMnfJ6T?gVBNb^4i; zOAp)C=8qu$Fh|eAA?lpZ$IE?DNKDJPWCJEvz6%H6M@X8alW-Ubb3Y0YAOAF-*v4G) zSsBUz@H}A9gEYGU&kQJHPMI9rWWPtCky;`>nG zIG#uc&3hX7#@ch>sIAM%p;^joINtw4rzDje$ulkn;#{m$t+Mo@&Bau(qH+_gARI$? zKC!8qAnpv70Sb(CiDbT2TG#}bzF0CWi~du z(O(B$qBgM|m);67Ca%px@bU6z%?1Ae2u5vVX=jEQd9?X1xxN#iw0e5=>XTS5(nmvO z25ZVXp)M+x(?#o#RX3az1w|#iy&pQZ_Zw#%Kf3`WI#RfwJI1BQZ!ERMHu@UeCvW=@ zenf;j2e!d!l??n zUd|<{k&lUDvO8x+iOQehC$w{^83gm}g)Dmi49QqPGLRi!o}bZi7}Gb@kKlf0YbIW}SRDLuRfxDD zC-Eac9`Mt=mcKGSlYblWD&Ec9u&_uqHPDUFxKTFAEaP>`>%lOFa#eY=kaBn4l>T-N zB~Y}=`{aCLtzfmRKBpx5Vz>CVP)#(WJEXEHj~%{dH-3$zx)#wCP$QA++w)eaG?k#9yrw^($V_>AS3SNE+&~3C;U58eCIy9X zGMCDV-7AUoIm=ZA<7>0zTbvwPG#X@RtJ7LvyZfEBR$7UbI+sc_615(#_3qa;tVYPh zMSPtKXi&3O=IHzA&6CC}Z?DB%{+CZZR)k6!pu+~AcDtW_siB`sE*WTzTdm-Ce zf*93qL5oOxx24SCYKyuV_%96A_2n9xiivZHP?w{@T7);acu<;4rco~f#mmwGHxtRsNv*Wb(wS^dqv+Q6H;Q)Va$Q6wimqH`u>9c#<5P2 zM4(5H*1^p$YIwyP+18_9(8a-DF|>T{ve_vo=T@3 zpO3aCZ`M*4;Fog1yiku)UTb~{`VfLRGys&7J^=51N+AHag7dQ)fA`__q2JX>#(O%F z*9T`{yXvh~F_H}OWW9%umYOzeOM8j7e6qLB_2D0~Mc%=&(#oAcM)e|@d!*yyPNBbN zSesw-*(yFAk-8PmSdGx;xh4b0eD80=64E0k3LpR$TaCV9UDs_v#sm%U-J2=V#gLb0?N zz;00UwOQdd3t=?_gYquAlI)=GlMq`Y6~+ie!ALi2Q6RcCPSx7~#PX1NH|;Hz%Y7jJ zjeUKBC#I}dps!k>1BAalnTl1O=pcAtWNK9dh+}Oy>4Am8Qy&|GcY|LBDHw-uAs)V{u;mXBxdqZ{uORD2eyJfzQ5wqV2?4sWs$Fg07A zHWX_ym}C0N^)cSd38i)z)NEw_qYbCVb$7?4I$6$;@&?~ zaSjRlTvhJw7>CS-6!DkKgcuz;6hkWM>v{oDTR9v=^3(AZk|su?J&WzVwGMPH!WSz! z?j8*7RWK&Z_aJ#@RW^K|Tb9NBq4-I23uphXr{y0bJ+I-t|5CMnDE*@DeKHNfq+20C z=IBGL)XrAkIk*2rhr9_gS;8oaXc+<3(cgEJYD^o{{=1ugFm1(jf2uwk&|8dN3W*J$ zYbmGZzXbkhKXnmC*iBFY>7=Zc`;DFyB+hciZDMAG9C@-B9cw&fM9TxKcs-p!VblU` zPl006uQL4`dNtnXpeM+~5{#}dF~XvnQ8U@Fb#4HUoZD20>up9)K46TqOHn|;?jYG` z?EI1W|NeOQN{|dqe}Sw_@=9hMzDM{&VV30a`IH>A`s(p`wEW%GCHJFw-@lX97AdOQoP!)TfOMDag45KqsrOyJwd{DWKJuj;?ibd}y0!tzvNF_{8T5iX zPZXNEuyyy^;=p3Y3ZBfO7?6J(&do&%&8(l0mCTjSCw3WSZk7qW1xlLH9^3?2=v$bs z?V6yMYT!T9SY>%rjeW-7x1|c4e0vj0?YviZHOoaTxYT{2^7_o@(4dAIzPGQL7=RjO zbL7Oh{Qh=pvP^CI$(2f~xAQ9&zcqJc7vp#iK7BGApX={#`{{*(>&=p&7 z3~HM4AFFaGFRu)Yli^L`RKRB3ap{^A!DyiMtoDFthe8OnyzhkBzMJusk0PtUki#*ge$8#XN^#Bxhjd| z>;6DAwc%XW{ELc}P1p0O&>TKt$wYd!?sDOFNB6zl9gVXb-Gi z#^If7d-IK%t45o6x5eCD+S=UukeBlH+m0r3@c`}6YN^ltqcZMwv+%I&v1k6*_nuWP z4w?{0xsr|n8M}(>)5@tQTq+k^x&*xV+laabgdtlH&Y_qOp zMj+VcH+0U~n`rDHnH$RZCc~*!Pt?|kpG9;0uIe>sI|I?}pIVQSfXuZsW$e?cFxzUo zWewky$`h)BG+xKqv?XQ$owSDPVdyeJ4}M;ZO|2jnJz(w*A*c0=FT zc(4<;#nw3IIU{o!T?_aY1wBFTuVH>*ho^@7>WX}Y<@8&Vy;Q(7+EQKms_Jw@<;G80 zth=o5rrYlcIw=K)J6*>VG9l|55zYQE(CH0Su{ZBV1BdnfNN+Ro4?yxJ5F{wD7U>R6 z(zk*VEVWN7q909$qB@>HZFN;@LYpKdaz*(^Rc}z37;#f=6Rxp1VLiQUlXFihOo_)o zZBnxI!qB9TZsj2~)ylDVh$4$l$IZ0qM_63t+(_TB z6X`FVgBR0y=F%^<4Jx_JwL6-$_sP_&*Kbb7ynTD@KC;h?jk0un#uQvG3k$7C{Sxd? z19|!Zi6=Tj?_AobNjd5|f8FZ5%KIGa+g{RfS+`LLMzS`~#c!=5>Bj$J8SBhemd8ok zvrdJKTUh97&#n%s(xf^!z{t>NeLK4AI@N?ayuL@0kj_$hl3sl2?nf(9g$o)vNA(KZWWE0@FKBljLX zJ->b*?Z`x3C!gm|+qniX``qtkfxtvY$1T+Uu$u{8Xexq0>ugq8a@ zV`&L*dZQ~9UptX(yDd@vhNEuuP{AiL7Bg@YI!!9d#NCHG*>;s#OSt5Jt%BP982XFv8T|EMZtFF!j|bazjyxr~$NP!RWb6|!ps1jwTZ1_v zVc%5uDCT~=W_t;DwEMx)WY_p^HzdHg=uQ_9qT=a>#j)mR~3hZaoYZ(7y*u~JNLM)|L2 zyUj+{#W3MlYe8v{d>-Dt*P>GU-`c1a2HMf?Fe}UGOKvPBCfvFl%czmTUlme&yuM;I z=23BC_~9myjQ*;h$5stW9lABZM*?A$Xyqpl^Vsu5N-NQ_Xp}|En(4vyzAAslCAPn0 zwf_!q#NZUfwgl7-7R=9qUNe5hq4m~^Qh;q zmN~oIv3Qe_dbI2b3$`)_Y!PK?O8|`4u$no0fqX1V0FkE#dqiTH71CMs)`C((^-3hNlgi%a_h#=7cw?v z&m$!6`>RY5>Ib<#G~L1C!AXzniIUWZQpg0PrCJN`hhdjlJg=8o*Z!^iQcYSJx&;fb zEZi#Y-s-#4ospQebH)1|{xr5LrdZtdE3sa_IvUbA&b$*eWJz`H$K3M#MlT>Rg)F6H zy}{^P3Ym^2g=`4lk)hVJPepTy1-Z?0zluDm@^!0cS}8kHF8PgVHQ*sRpR=M z()EBXdS)T?C%zzR`=c(xy0GzVCIY#9w3GBnxlz?_xuXQU{JBCt%6ze^Uf*+ zoIChoH{u%r4{`CGZEu>6Z1=*K?!&t*47f!l1mzq`i`VRyo8wkZC0IkGep9Pwi|PeT zVQ7I0bzVdmStpiTv{JR4vP23sA=}Z9(GJn|GirtVAYQ7Nnv~fN1ztS?wJbJ%l6y>d zhYT%ssl$+m?ceqDI2L#w=nr%N7AhK4z|Gv=y}e>cHgLqAnEonFEa!F_5b zgg)qhWLnsv+L{#LCrpapuzcIF+_+0V)t>R-_~LPQRIQxN4d})#wOdk1)@POsi9(^T z0?l@dwiOng2g+Wodhf+D_~4V3Bv{7A;!z?bl%yYW^)(=e4;yCbHiGltBwh1Y+ZhDabD4hQI*O z^)TN|kZb!WH_IAOn;O`Hw#``CA@h3BS*m>JMlv_6|J+*!O$#-)plgK9KHIRH)lR0T zM*)^b>$0)BF1P;Su4-I`)=s~^Wyg18!iElR!{`2M&bfCG_co54_1)s}oMCfca4l7O zpi1?30AjvO$*bFusTgJ+HC!*Kh?oCTqchbxn!dg#=qerDd8x)(oD3mRZi zU7Y388*>4hCe?tXta=p}ol`>Jy4sypG_d3709ZpI(E8G$9nAhA7n8X;%&SdzM1b&cW ztLDV8T?_tPP)J$%((vX7G2vfBkwkJx3z^reEoHJbTCnf_=0DVUPsGG|XmMK`f3zfv zv2&RSA$EPssMv0m{cowC0s_?lvG*zBH3fR!Ia#ElabkCr&}rN@pE&Ch!rm3Gr0nF_ zOSNin&BRF9=G5oG26eD^%YUUCxsQfvSqiqkXQYArIc|>ZnT!LiPUp1c6~E1r)JfIf&2&NV`jID=XE_XpUIW^2aC-zE$(9)dbfF@CV-ynmEUOVI-ba=_@z^Puird$4_@q|i5Gx-k%_jJml zr)?p7ZQu1~UOkDE{&+?<2xxVzw2Z67tk3w9_({hgke=atjNmj8{zM5qqp7Y3!aO+1 z(Z<$^*jr0`GkNyw_pL0slo!8o^M@wzJBzFDnBWIY!hkg;5-Tm>J8PdS!AL#1(BJ8!iUk^$1YyGa-w{JfF7-LslVv}lKSpc^4F>^}^K{R; z{Hr^;BC59WYsB;MwfPjewQ+D(kRV!!TjZ3M@@AE5=BW>|hzg`{s%jSDPQeQUEMa&A z`G%QsZ$rdQxT#ypP#Zd|K$HSS2|j!Fhr&%eEPI6K9(=^VkgNKrtcHm7YXHMR zvQ09*m6nB~K;$uCrY0I5hmZ(`KF<2~7fDyEm2_fzTTz4gbj;5$Kb^RO%u0=IzZx1A zn(FGR*WWA8*PdA9g3|&eQU1kB=vPw3p}t^3_agmAv85#a=8_weUB(eo&)O1-8?;1= zYrchsJ*je8U@RIrgPYzpF~9qQV!Pe8jbvL9#VEyoDCs?`^{jKK#@NjQMz&Di%SDUu zOax%+=EhIi$E!Q~iPAe|d!eoyrxVY?Ol8JfK-_VCWMoJGq$baXl+J>l>o0}aL-wHq zlkR2xk&6#fiqN^8p+T7Pz@m()u#wO1YTVnv^VrBgzsbp5Y?3nJgBp2u#>Ki2AKVu$ zQmnQwed$^DH0sy=%_n)n%gTh$GSqWaY=O*4U;oQVMYLC5{C59p`R^)y@&F0(rg3ZI zWw+_my~}?kSu~hDJS8gRt^&(sRjk^ryiN+iud2gXi=HX|*Ks;WqHFp1c(F$8unx^w zm%ryeolZIw9P8Zf3&eElc}*UFAE=UvYLOE{Rz1{hM8v>%l0PSyDl{{FAJ(#%>r5EuH$W7Db+ncelC}W~;i| z8=Z--!~n?I;f!D~u2y644gvX22+SbIg{aUW;_!R0&woo#{CYF>1wbapc8k) z|71NJ`WDr#CGNLi2oD+uwYDQPcWC`#gJKZPf&OVB^cNZ>zZ_T=kZ!*VmhyTv^Mc5hiA7 zS+ zp~qzgr;32{Z6Icub)cXh34b+JD)BFr3fCehh$J%Vd(%lR2XjN+7IR%Yl!abq-4s1iY5wRFtyI9cEYH>yKVY9k4HG%!3_PT5dL zgSS>j*OO0fqJbv`TKyrL^<|5aj+w)?yTd?dM=P#iaPPwc{AlD=d=t5vZl2`qw)ZNx zj>R=!1Xw+Dp<{x139;jM2~>YT2~yl^n&pe=ib2Z(Ke?_9|@MI~LIPhjv5 z=`OHX=!cvJI;3-t5o5OHGHi{`GTo^^HdHbh%jc6;@41xyqZ3Z?-!mJpL`KlZ1$DF} zQzDC+L%@r@;yMNtX(119cIN4`kaTyl5%RV^>tH_231Y#o&Ltev*qxae=bcC-Ul)FU z(T8_saq`NMB0mc~!eA~wq=GA=1Lscg#!S+4T(LgIzMQxeRo}$z5Wd}UZdP~qzDl*%u&{nl{5WQW01~qGAW2L>qveU3mJg3P>RU+E6EDsz~ zRL1{qj!33RZuw0Mr6zw|9eTY!lp0YKe+tyVO%#d-yHjoa;#FqcoItQD!I4u z6oq}i)3m+ut=m9XY}HHRo!zAsm+Jb&!nMKpLRNx?gf-;tMW%7OVXm*pyW{F!6A?uX z*o+{a#HErM;QDQDEZnr50L;-wfc_Miv2FTf-Qm(WNp(NDYWEMtt&Sb7KNPZ#fsEa` z>$X7OTAg<3j8Rx{rj_0S>%1R(>skoyRXZf74>HUFbW9~6ZGTHb-%V%-YR7VFVI>2! zTgJKNglM%)1svr?X1X~QvW>zj8DmY2b>Tyqqv9n*GS`o0X!kdfmi*p)5)UrIXSzcV zc5u;;!Nyka4bCIilJL7WBtHjP)-S5K^Wd|bjSmqnLkbJ5B#r#|cxz0Z}i7x=d-Ozdn^0qD_} z()80Ixhg3L8a(G&)nQrZma!K;vo`xAvszWi2H{GaH6C-KhUV)T)%Zb8ig~hC2Rl@1 zW~(BAeu|$*@nnt{7Y{08gLVe0LOw^lz6e?1>t-HTRfrGYj8E2mItLN*U!D{bCmr{2 zOi7&bZIB|p!~a`2w|A=NpRVULOl#IYc{&w3I<`~U$dvZn+~8i0>bQi|DqKT+VrW)01Fu%^X0{#Pb>m~& zmhn@-FS^IF>{RGmzCqVO2ztrkVk)}f@x8yLCOgG)fO63QX4S0YJGYL_y01Fps&t}+ zOAW5mCSP#~pwkaFV985**}sjxCbxNWZdO=A`^wRLs?3zxyJuIA<~0AIa|{|koY3G~ zHw#P?f40KUagW`^??HnGppc~^8Pi}WlCX_czxZb{;ctx;kTyEqH_m13wY&wm>QI?4 zV3NDXyt3nitZ{2Y27LU6k3{_lp%DULJmWfq#~p&BN>k%Zg?ng&desNd>&%?Tssd98_J>N|MNzwCYC zU{@ZcH6Kn*YZ3cQoPsc2;b>-6e7w_1t;=VI1V=mHyOaPv-MHW;DuJM*JjnS0MbT&8 zBQJ^UgDS=qm}AaSYZ@<$0#kdJ%&~7h@Ny1wE(MJ{i#nE;1>4av5di$EB``ml9@el6 zD!e!Bv1mmPtXiTP!$9pf^6d(0wG*K!xpTJ}u94TwjI}p>Vz53&&pLYvd-i=XN?4p$ zV7pn;ZL(LHn*4CWEGInBq6H?eFSd(YhS(m2nnytgWR-_DvYd9QKrPy>G~f%J5Ugon zfapXRk?d61#8^X&T*q-}euHZS3Cr-uH>~ zoO9mE$4Xn@3OjVM4nLO&!x4G=&TzPbNKMkVi5M(&f4ZqY0>}eR!9&B@ zt3y_&1=MzZlz1+cuu!Sh2@&1gFJq0N^pSEl+$Fe8YePe8x+diPmr)bTVwihC+fGlx zyXLb;gUfBnZdA*Hm1e@qaD!svQsN2|_s4}E8%P?>_}PjE+?~gU)301(Rkh99ruY&j zKlc#40Nw_&3+nZZZzUZQb{bbjNuIF`-G z=y9s!KtizY0O1=E;c{n24TfPa`~^2`&u#4*{ku5qBhv8bPD9ifuctoQSYPe>R*9%X z=)IZ|MnB2EG&qXI8v^ge@rimPqT&ha^CkZ)41U7euLJs?;owwpQ-{heZzYhucR;(L z%i+8{087{K;L~!Yc#=*@ZGDO<>zj7SuU|ys^Z!MNZrclTtg~D5hw!6c_9rYKY0X-o zWj>4wS(xWi6H*V5#$%i*WHjG@k^s#H+Wgv6iM$x*SM- zWh&Xm)UrsJ8x;>5ekI(|PZ$y51MY3R19TegH|!h_7oVlr8TAFNs5M*caiZjbLg2hWS% zem-FQ$>ARXA)>izJR~!+7H?+AU+b(-mQ`*0ni{3YIt8lF?sAChPW>-~#0XyGt^6Z! zbK#r=6wOHjlCq=zySXN<_U*R2=fCsC*j@@3zRxf+d70$WsbIq=48VB_+u5r-J>l&c zRB+a&l~kLRxvafaUgjeZ0KO{yLioBO_)^)kr5GW1XD6P21EwKPTda21hUzS=+qDO* zFp7QLUbWTyCc8lG;usy#Y(YGERbj9=))#eRlwF*2PYN_FmmFk=`g!#l_h4;1a}?H*rG7K9m6Yl0{#Q9QPCU6Z-53AK3>R^JPA{#cNs{mJBelPW};$ z{SXW@QmffxCiWQ%X8)#_ty>ntS8U_(ntwyzMf3DPxUrMPyAG~saoJ6eUB^Q zQz(~%L0?)u{RW`-azQAy(w&MvRi5xEK*i5ADzsBQ|MqrZJmwmdmCQNpxe(SWz?QZG zUK8zkB&IDcl9Z+xuv_79KZ2ZBGItM)@5?{>X`N0n<#)0bEW+5A%0G)amjc^havN8) z^2AJduRD4+9~3G_xP`okaYfNy8}&6~OlnJ&D36ru6bJfJF%m}M`Ya0_7>~|+F>#xz zs`xt-Z5!}*T9%l@y?p+;=Zo)C897@mi{@_H+u(t(lr|hniKQ&DGspO{+F~hx+~e6Y z8F5c?O;%lF4hGQbBu`^7Tcu<>--k+10L8UblEQ15y_755?b}jjfbcLA9;6DH=ixSYZW~mkKN(5T z%4D-$TnNvVqt)a#7&jI6Y1crF^aE{z?LPwNzS2@9mXrgEk(cFoDW%C#eCN7T9P&&3 z#N(*9$5(-nNp_z^E{e>VMsl7RRVCtegRFl9b|^PPrRsu?2*21=z<>qP&sfnR`hXF) z?_fgZ|4y#z$qPhIJ4c>vci5Zjsck-AtN{f$8AuG8zu~)TfD^`%)3Ssi045ZG1P)!D z;*ko2{=teL%RYb3l)dwa5b7o#Vnr?zReJZ=>w7@W+UR;w@*Czg3Z2HDOW{yBbmE&bQ$ zN^dqYi>O@cYxnwt5gdtiC`DA3UqHuCcR5Z&xCsw}zv0GB*2$Gen?%s3ID-@@&zmJ2 zLd5iS`ns{Px$BqsR?wwGcwRAJqK8+~J%W~!0b1WDD)@ub`f_$3c~q3zeMAeOZi zte!YkAN{Kc>0T<~4H@frDp-m4Ee{apm^``m1Le9OFPl~I0Zh3x+O2xI$J0fbjR@bcOR2j!>8qP=wbcX^A zR&-v49=>NiEYdppUK`FkH#4Ahl*DG}kZA2$5rFmR%EPc6)E2FH+{Y}X;L%bTRg-VC z=;J}FOWTt4b%E!lK0s-DRw;91jSqoF=dH1(NSD23qZvES7_m!OUs>B@Se|?VCxbnC zCdHdoAscf#T~{eI#nn$P0jOS!hpgJJM_rNq8 zucQ)3*b5Za9niGcrG(v=wbe~kY5Ff7x_Hp^-ofJSt|G3@2P|O%$jWLpq$GPN4K9gX zS67}cWyz8#)_u6mKg~;%Lse;`UZJH{+qy%S(AezLTMY`JCKDQPTA+4>xna_7%DjpT z9dSQHW-f|{^iWbt{545$C~ExzP?9*(3h#0+S&FXHrq$S7Ltf5fpn|X-LMTE3dfd`l zlExg%;l3YUpnCM=S_)T#KE)rGd8)XQy=us{Ppxl=^Azy8uiTdQ3+O@gs0Lrl7~}s` zF{no1#MFFoKc(_z4z%YtlN@qEy}=hFBD>=tHM7)A+2hO!;T%2Osxa5A)iBWC*}cX+ zqdmNPSfROKZ)(O>a;&oQMeFiASwvO^Vb$s5P~AI14Y>-oMp{WUjUesj8K6aLMNcRN zKZmMJ$+MNQvCgvCR)B)`mrd6G5%9G%+n0PE1NF~VhP0#dVT$`{Q zthg2rT&4>|EezJwQ0j?}UV=-uQ=gUWwPr;|<32Yd;D!kE;+K6kJOx;>peH~%6%pRR zT8q!p814wSB^8f7im)87of(Ll3T9?zWepVOl(8g|&1B$P0oz1(o7`=yMNP9s!+HT3 zEt|x zw^*k50*h3t+E_6yjnoohWAp`)Rl`i<*_Rg;ib8Hn>U;hD_+=%=i?aLsIwm*D1y5nRRw zxgf#02~x?vD#(2owr{{@Uo)?N`yM@*uWF)Atr3cOo7<5`2DnZ{Fnr#a>^%eR(M#Id zxG$KRjG$a~at(A09=Qr^Y9|5<;qccpT!QDK6e|#mhw98(od4mzP*~XuixN+RBGbvx zmDF(}$obq$!HhVt+w#c#6ND8~U%L5auP96%%&qFwh1e7S$o0P-J)7bVRnVN#q~Nbq?ZTRKfbAGwWH5w$Jd5Glqu&uKO%OX z^!I&?H#|Ts$}vC5?*dI2&|^ZB=bD}y*=*^DY;d;PEhV4anI53T{bRHM*5Y8FfLA29KG5$LKjk@%0xDjjX6uGQN4=^~0qA z7B1WT(lx3;64tLXpRH}2`NI}Ewp$*jY?|~VlKB_FF8HY46k{?bJ;|U6N1=t=wnWGa z6I8y*iOPOU-lb_I7Iv<33qvPR=;m|C0>9vL_AQn_SsW83FgKX3lu( zaqg8+Ci^PGpWbpHh{a3wzHd~e$rg5Z=v49UAIUpY z^Bc1!N^Z%Ie8lDk$br*TBC=^v{_N(WU{CrpQ=SQFW4 zjx>M(skPU%PNJpQ1?rJPQcV&BlgEv1(6@#uCS75eX1WpSPF)$4{Hpy!KQ7=-V_=s> z>_^{u-As#>@Pmj@M!niJ6B4;4Li=WudzQSG8S+I^kZ3u-0E%gq%T@b$zBp~eo;;ww zX@CVS+B4D=Eg32;tj^DstC_LuJt~~x2oL9f$RUsGKhY*kr=8`kkY-2rHHN$?j{q91 z#`A(S3-6{qY(J98GGx&X7|;m?)XnuUs%oG8R)dUDI@Y@|h@N!SVdV-H_zku-dpcgy zZUK;ckW%?Tw3P}c-67m-B{9>rF^3oexd3dX>R<%}h3Cr-nq3+9G0p7Gk0NASX$ zS{kV-(OUcRcvJQ?#+z2~B1{Iq?lu_$HaEgc8f{mEKWHeBv-x0wn-tzJGs@;@sxZQ5 ztNBV$96*9)gV>~J=!mtvfP9YmM}Xzb1_lx1?SbaRh*Hu;o=o0sim_V9{K>u3cQWQ+ zO}>{+D?F0j^%>8{(JerCjQXN_o-O09YJpp{JrXdk#(g(9>NnZ!j%7=!D={jP`4pCm zO<4z}>ZCfQTj-xI+__hZv;=<^HN1f3DsY+m%yFeRaj4+L*&i3qtCdT>1NqQ^tRYv{ zm4XcRnL3{4LU*5wncgLt&)GA!e?x88*c>avmB?hgd$?fkHUQdp%or-Zx|Lv<;&W5D zN)}Z!F1-tm0(ZBgYcOQ+2x?`4gUoyrOYqS|Rr{PVhg*~L>|vzCsIX(q z*UEUM_fyWO=t^-SpOWB8N)E!HHhh}Wh>*FI&JPA74oh#QAiGAAYfW`Zb^Duq*ps-c ze8fcCd_cWgMQ}t?Av;f2Cw1#|*yf-hk&AR8GRohlCJW)tTTrJguKN{u2au)MM^C3+ zypFOYufo%tG8f|d-K79G8v8a zcP&1N&9%5;S2Y{C8d(RmREC|Y?%FSkWrv*+v?3UK(<#T?)5%A-BSF_Y{7$=)6XwRI zWRvqR3=e|DWmN#y4fT#;s^=PP9!IQ~jO_j(jX2_Np4nUv9E)JV=_#5WPnqc?%@)wr z)JoZr_QROw#)GBR-bFInAbaVB{y)s z%;ZCDdno^WuJK>2QVsCQ%8BJDr=R}-o9HxCh4)owKOE~*&pUB;Y@ki1nSZQtA^QSe zf&53Xg2Ne+qWG->)4d`ffOZhQu_Ji+lgpW92vg*!w6Ye>g(?QC$UV${rh=XjZabKg z(J5f)E(o4T8eNdnRT1NRnN%pn)~7l{2J92?(5}QG6Ot>bp>Z~_Asd7Bp~{8Y zYkCRI5)CD@puru0`E60RwPuUHbx-w;0kLEAhGcv2c>9&t$FDgXS1@PK8g^DxWj%-9 zxcA4*I-AA|t~r4UNRB_#3`JY^lP%K($^Tjog>2Fp1y{wFXBB)>My&Qie7GPB&f-owV3cU9LqY7Da zWOZ4W-|=<+O4m3Iw@66Gy%w!jH0IB`Ya-kZ0%bI^Go0__)pZ$RYmbouDl_1SWZ}0XTuVa8F|`%9Jz&O z#{|9G{E`2mpktaMPV&mnQN~hC{1WA?lX=Ap#KN@jpX?{gWs9(IGrDxhwK%op6eV9q-ejAhwETpd5Uu^gH&VcAw~qBS6u?T>1}h=D=ikb&o`{=g zH6BC^OKt|kL2y1UF|#gozH0|y$t2}lV@Igw&4FGv`N-=IuC=j`3~mxc`Q-{|Jg}c8e3)gS(Ao%vEf%rq4!C`a4Lr zZUNKb_iT7wCa{be_w#V_+7Gs~1+L}6fp$c5E)p|uy*L+o^w^5;d0@N30f8KasQ@n} z+gi6y<0`T77%OU~C)*Agy0PS_Dmz=!TF+rs+90<{;?QOyS9S4ZwSUYm#e1j{H{T7m zw6OL_FJq!=nm8dD=P}Bl1u1NMCV}%?cB#?W$EvDJCDcGdeyVuxq__^vXfHjE%iOuB zqX;QM%1@?~Uw=Kp>WcjxyI1B=keIa&ERQ+ts6c53W5T5F9l!b(bS7xwJ#usv1Ah$P z5<3`f|0+mlgmQ**9fVpMQqL%f?kaZ}wr_+!dIWG7U$5%hC{^Q`PAo2XGrr6ZC7+)) zaY*18jb{ej<~lzWM85b`{8!w)vAKz!X23qPs^q6Rk>{JymFWawPhgSIme~!8UL1=r zt-V;z*pbdB49*JgS2jEp9@4)Yo_eS>rm4+LG~P--UcMBQS?wO<+6>Gb8M#Jx-z;Za z2B>OZ`2r?j=U=hSa?YTGXeZtc`wbNoERV6Tl z$bdb;|7a|8tBZ8?9X_F8Q}tjz+UuX8giHb_j6qb;_MjB8ema{V0$SUVXpd`kfK}R4x1|^Wuj)08qYqO_hT?BaUbq{tSy3 zQweb5BcUAUtM?_7y5;log=OlkI5Gf)3%oGJmOVwf7>)Xcaxf~Ebee;Y=%{BScD9oF3TM{&5h8}Sb>Wh=fuKgB zG!*FRXA-bp7k~QS9!%WTgQXsvUMNo|Np;=RV84K+4ei<;&isYKU}mX1Z;M#xVhpA? z3(Wiv<>ZyG=XW-*yX?dA!3xmXHv`J^e4BY_$v>2yqyQ76j@tMvHs-u}<1Xr?NrrYh z>Ib*y3-+aWQ?`{|`{=Gb$H>un4F}%u;-a5&emVg&&x5}b7ZcB~5)PXMyr=qV6F<*; z+PATsX8Diupx`;d^GbtS*_P&Nhxv`+(%PbdnLqCQ06L&I*_xa1T^G(tCCyAtyV3w9 zt`z~(L-3e;YLDdm(>g@yeJ!I1=i#MtQiQ|Ye;jLcqy{gApKM=BIZ z=!edIjwS(hdjBIhS|^R$+3Z$>B1hvbFAq8y^j|pEH=glD?WN>{pT6lIVZ!3?#ORz) ziGG$a``zFeN_;2&V1900<=ZvhKO>?fxJeJzN8@(e#Q%(tLCoRR^INjPP4{_d(ch~$ zTfscx4_58m21LU;Ybt6_RCJ}csW+~v{I`s6A3#l7|mCI>fb$O20}QB26mO zS81Q-=LuH}{TM8`0PxnFz~>K6B+f01VG!`zP1(h3qUlHoKNTqzd6K!MWl=jyAK73Z z0Op;rBCH4%6{v}_ndX0T-}yhLBf$0*!dez|3XFcR1XErEa5Ge!=-D2FSHYsXnZzGqxOYie4_XY;2a=(*lP zUrJ|cO+&K65-GVf2dfHRcl;GdZVHVJxG9tQWeaO~F-Fhwga(I#RO`!`TLm9l^;PY( zkvRC`+Iray8rLbl%TFeaj=unk659=P88eZTSh1m$zXFyE&t_%75jxWf-Bb@RKZ=4r z1zYbdd?8BcME6g#h%vu2Eqb&De6R{Mehjq%{LM(M9%WBhCN0_q8(1;%!T!60zS z0Wy_7zp(-Nl8)l}O%A&hVaqlUuE&t7rsDyjL{P~Zr|E<}G$5*U_#-kUNfKx9tL{8x9DhDMyp&@DrK z8h#aZ|Cg`2*?S`Hz8Bj&7V^O3t~Gg+wu*p`wwH}18mD`x7tTl==9Gs%0; z(Jw%_m>f!_c93kUT={5zDO2+ni9WvR_{5?t;}iXcJ4>hGrqvyjY3_Je^j1#2#?1Hf z_FE6@K4S4is)8-xMHiI|&5fHr_ihfu`Qp@Meqdtxq`q;&`d(Ji0=n6@P(r$*ktD&| ztg%kP8hWc2e-T)Vgga zo*4eZ|NZX)m_`vM^q|#-LkQil=%R_+`Z(9u{M_SZ(YO>lYY{a9p4HBi9BM2l%b%hZ!bKVr(bm24-wxHjTu&G+!MaTYcEK<1vs%i%|aiT{DX1{~B&vQeR{KLh9T6-F_n zGV4)u9~8%hSu5b6(8Bha?V78qt7M6ALdm?W zui7%dv2uDo@~6?*N#s9*j~wAvDU$dA%cu%dld$#~zE!hT1|33B=MUhEK{0B!cIRhn zuaxZy?$@L<9KNzGkckPf5vP7`&Pk`LW%J{-gkK-kXvoj#e)M+f=@nq`+Z08|fPY7GM z7a5yBAOtui^k!c@y+Q6MJR)%^I+%Ma!#4I7hkE?3OqEqsx*nwa*^9wcHbnm0@Sm}5 zB0xpvkIg>#s?B=Mr)qp)GN^m5Xv`3`QR(kvh0qRX>r^2 zf{9c@OEOzcGu0A1C11W}@ra0@{nj@C0c{FE_Ih7^I()^2|AW}vnS#N4ZorGNMW+WC4fc)#i*8*%y%762zjpQORHqmLv1ul$!Fz`9vZTqN$ZC@*uV z48+8X=AP%Ks<(YDyi8?Hw&|lnr!j+2hR_>(haWw_fa?584c}nVcGLJp-KE^H5KVdX zrO`nIeJGVCJV8XvmUO+GVyQGvL3t)@`dOd;)v6pPE@TReX9=CMY0t-#??v+3d{Qjp zun%TmN%pj1*o>fdOI%XEw;bJd%3b2=#h1TRR-&D#9R@_0{K!T9x>;-_u}u^HLXWLz zf4G!uOs0TAHe_u##AZXXx&DR!-M4(1ARNzaey9&E5yXi>t<^H(B7B8?PJdb5LRF=R zYy6XBpRTzY}Dh#D>+0aVm$7a3Qo&y3bTa5P=?>uL@|38A}x4c~A zGH&K5gzQCkLH=lki98C1>hZf@rc>)sm}Z*$jm*W~tsS^DwK0+1mP^pJUVXeYAsWv1 zAdlxyc5jif0&nP(pTIwDqd2jv#P?a|z}g**L|~yg$7B@cFMNV6N}=P%nBID+%Un91 z$q`ZlS2-=}SYR1zSEUhjg;(LJyPNg&o9WOp^Fu7fiCODy1%J3w%HEqd zfsd!aZ9pZPQgd`*G!kE^kxaBxwLJ zbgPXqi{)a79ONih%3BL03oI&@9;?eef7b#HPOnR;`$r&_C6{aP*_Iy+ap$|E{RRLb z-UxzKHTI%RY*{Z1oc+B1;2 zjTXf()Ho`lly!(G*{f>*U>xp#c`$7HT~^tI4xhtkd%*&N%SmPTIvB=)QP_Xax)5ZZ=)`!SFbBq=uWU{0~Y^4 zajDtCoCH6lOQL`JRk8I>%V-<^YfuAykF#vsZuc2jUt3HJY#BwEANE=X6P2-Wr5R!< z0@M_brT{U0=(v((irCWK$%S}Yn?B&CTK&>b>yG06?nzZ`j zM&j*OD>s@Y<_*`skIvZ|?4k7MmtJeP@B)#O?Gln$yPa@3g?Nw1a9ztF$y9`#DIZBd zQU}9_`T^J4oVBcKuVN^_vD>MzIdNoTg{T{YZ$?3}Zmf*%^(gDO;T+FeiU+ahLS)=f zpUNWe9RF-I)R;9~%n3t-tSjIFy!96>i95dwU2=W5(@X?Wy#fF^44)yb)c^q-+7=)i zN^BTh;)>}3EhsWbv-i(hGKxat);T}^hagrnWgj1{O*+aX<=ORdQE)z8Px75opa1N5 zwZDp9s-3UauN(%3*F@aFbq4=_3jN9?d}VX-;WrdE-kdJtrAlIg)ld1voPww+qM6<7 ziRl=}O1yq*(;-WHzx|9?`8jaR0EXe_Hui(oeAr;!U%qf_u6UvawE{>ofUEPtQS4^y zoDIy#td1I{xMfqb0&*_g?e<^0?(#9Mc8%oME>}zm9u*BR7u=UR4z0#yBxeI2d1BVI zys|NUPM)~Kx3;{?T+S=%3JE?%6wMFp+YE&Og#iy*)$)99ZP0BLroKUyvg9OSS64gM zrm~Qz?~?A_6hw_E=e_aGH95Z^m41GQo5!Hyimv(smaVT501I`B^L8GBAKNRvT{Aqi zMZsBN(-roDcRha?%P}k5*&d@~*s9DMS z=db4MxJOdSCQg+8{pR=V6FqlkJsaY^F~Lng%z5AaP+dp^=zac5^|``Vd#et>gn!N& zays-cF~|;e$0w_ilv71edaU5FiXh9V26lg}IKKo-}E94Mh%S_Ib>eCZh*x zjdOwKf%@42L0IQ~s7iqHe)O}3&8`mJ6o|?U2Qixiqgec|6D~H)Gcth~(c+&f;Naln zyUB}wXz?F$!+x42ySDd@pqG7@3-we5nzE^)Nbbv5WfJL6xLZi+3HyMfXUoWyeBy%o zyfD#Qlp)Ml1DX(diFNU^4V!~`YCvA(*gP&UKH&yFQE_5Pm715Xsj+J3=iBt4>>yx( zPw<7Xh(9t%W1sZ?5;UwhV}Pi!u~x#I@MI3Rn^u#!4PMoJaC)MU$=#X>RX_ZC zbI4@<>JuPQx5m#s;y8TYS`5&>{SRU3R1ErD7KbNkij2-q^kY(KFh?)LFT)+yeb#l# zLBh~qaRli=0<-j4L|W}%N{@Q8R}x-&ftJr#O`eLUuGgq2iSm-8kk7>G;T;vN-aP|i zD%#$V{ScNg=zj%}5`&>b#Z@9W>w@t`O`iOLD6K;Xko=n(GOXFvqI?rYb9L!uyFwO3 zx1-yV^0SM!8nywzwxOaDR$Yn=2kK8-DpHCM;0vOXc|~QC!bssfg3-2&ZsVek8!1Z% zOAbwLU4F24STOgKv?#v!-6LwP79z_gm6(jTcrQ#Mqv?DP(?zG`DrA;w$Or$dGHEak zO=MUI3zS1if!wjoiOwfKbP8x_<-K1GHv>-ou5LIv5)q^=oq$NJ{e1FVnS6~ z6{h-NRIq8DzJq!nIL0_O1+sCGlS-T$x-5PLEK+JWWRR)(U_n#lyByG6BqoAiKuA z@HZ!S&d>B!)#x|P6w_9UkP7uw7UKGriG`ezZ8mN#I^^BHu5AW)!d&rLUnJZ)p+jITicl>Fav_SdKnK4zBRN?>_>~`*yz2)3N6r zPEUYI$&}lbQ+c00)~w1q`fmd8o`&+PhV`UdrwR)s8L4P4gsbEjYdBUId~nlC`9^q8 zEP&ds@jFca=%<8f^5_27mKmm5Pzu%(-w;)m8LkrYiL@VSFA5zT|G0MY8sB_|my z`pK=!9+$(mel2F`DO|zFSEoj6r9*-5YrAdF)kEOT`=i9P@;%i@bO{S`Zdk^PVu@`` zL^tfbESn+Xbo5>M->g$?);({-41`UVl_z?>E6=u+W&>oQcw^kNTT7?i#19fuLbAX~ znSQ4S1X=B#bcSxMT3yGvZL8`tRaV>4Abhoma zJlcn}`Xy+)ZQaT|C%y*U8FA;A+EV9;y!+VI-4E*XVP`u*MgDcEerQP*ld1}`AL4#= z^Rg3}dja2>tSAAZ844BSa#3`9iN#uVKVt&^k!|WKb1h@S6pn~Q*xbCbUa@Hw4cl!- zsTBLr3;Me_=#W+VZUG+sS@9P8H$CBObv+f%!?@snGL_Q2$AeY-&T=(1<#_22Vh`qK zl)Fu(Q@LoHPCt99VwsMCekjY_`ARJN%Hr^+*v1y9CY@ptklB@>J0J2tQg-ZO#@II# zo@eVa5Xqvy_Xv69eIQz9q-dFqajl8M$*YxlH<3^`FO8l#MHVaE4u9Kgt}K9*6@3GtRo_@Whs%UYw*S3JPAT|b~Q{PZFT zQF=T1GVH=v<@M0~I{cLt)#xj(0N^{dJ|C^irEz-N3mp3R3PID{kVmd;!cweny}Vq# zS3yR;mW~eokZ^B%9=)w$0!QGHqdFdygqLC-#`13r)_ImBul_IzRaF(5j-eYpj;DfF z&CXarx#ZGzwTwV4BJ63YyGeyciQ-izrMFwrSYHmdnGXVokF4td5y<|PZg`Q*07nH{ z%dL$2xA$u-`LUw!O-Mog@wkT9{j0Oz!#JJ;bT9O?DSiHn4J=pH5WYw&WYkANGGoO! zGn`I9OCZpPZS=9dtAX|1%w?8(LqWs329o)3Cn0_VAhMwZjPaE_BiJC*0*<>!zqC%w z%{c3&v&h9c3RLy?)#0VY<0nesZu;I*qFgIm>pJTt+O4hbIKW{9lW?ux7qBee1hrn_ z?1UoQ1SeGb^>4K#Aw2;5mH36s>L?d>X79{*?^z7r$q@p1^mX*aAqnYpcWyO3oR`>J8~^w@Pj&?QLco zE8*g7Y&|~8Fo?_O3mNPu)lz;iXICu%Kqlc8LCXPlH} z(g^67H31N&LihVneW`imuy^ntKYU%Y0iTQ){sppf7T2ip=`cg`~A%%8O@xIsd5+>q2^_#cx1cfup!L0Z~^!? z!C8lR<&vrf`V_>zHf2dW{>N6M9@XE7dmA9lE8vr|9@{nT&b-L3;;@p!JjVHD zugyZ5LVPF%<~NjAW7Xi)Fkv?|WnFRIJLA&&KBx19-a0lLux{FJINmDH3LoQ~3MG&Y zyUe3E36S?RB@A*(UcT-xi9yEd0e)rvgO8dT!8wIth4M@ifLh1u8Rc}_)ndVZ#%0QR zUyIUK5Xa10C#q;=l1iF!P*KB)Y1S@Sj?-q;piX+Jqfr{=_>4RWwkKODTa4NE%Mi&?p9pKI6xW%jJYD-YE$Pjy7wcVrXEfAH!9TqxMm`z6p|3qUk2H@_KKw-vj`C zg#1mh%p~tx(?C+#$Cdua;nobeLB@Q=_h|cSf6kJ9qz4-w_WV@2HRu`H1ON|`5#x>hF~1&k*U3)0p!`ViyG)js?}KR7;9%+HOYfcOwC>z3zwDq9f-#TPV4>$XVoqCUkT1T zkT5D#YBUt7LLA9vUytd5Jgdi%MBEN0hP)}&C|e7A>3jQ{%2B}iiaiaep>Za}WvGb7 z0mWEx$e`Aiwa8_)JDsMf&t+u5Dwou#NILE3Z{6R4ca+Sp~Lyb*zH3*P;NBZ9fi5L%`4P7lp-%=e-}zs9CwXNC&sc+s?QA{a&FVL&ON@r`)>*nePFCOaM?oqL%&< zP*OO%yXei;)RMK%hfEMf+$oZ-r)bxfgL12?^nBp?PRaIsj&M8Rqwc$bF11$M;gTr- z6HzC&Xyb;t!ZwN?$$4!V3y)ny-Gy53ZMuRdTOP>$dN=?y5*TR6{M%$T3ddIU z-GC$r$oAe&uMZW{@8~3L*g+84SibyC`#|!RMh}Lu0 zn^YJxLmo&*aip4ZS9WWloA}dhRaYcS{MwDxrDai@0&g9j%C)W*J?tC0Z;xsyXhbn; zc{CxiGc9>-(?$psKlLrGMIYtF1|jWC5W|YktO)CQd4i5sw;1@ zoSaJxr-Zhu;Nk49v53xcqUDuAsuR^stJOb(<5s-5+iZ;T=m}_kv*$pfEVzG6KmRmb zQ3p9z)r>-ni@5s!N}^qtO!dig2a_@W1kAx~xLh~KV_Xk|9NM>D=edvcX&2)B^&V94 zBby64O{1wPXgoGey3P!;HMLce{P-iJj6s25?@XZfMlIy2dX#Lae;R~e#mkcvc`vXG zQ6zOL?pee_jzYBb_xrVmEMdz*p0CwftvR0@eMFEowzH!p zEZVM(;%}!jj!Wio3L2+G&$ms`O&BvU&>CIHW$1W#rTu9N)C9I*){vQuopUgLCV1Xj zbpN{a`8uDaJ4@^v+9HO=k;i>$;f2+R`eEdHs*j(nJ(2a(oaat<0L#Vr+KU&06A=jx z1nDd(G>4E(o|J)6XhKRhjt(oUwW|6!%6A8MvFG0>uP6V)*AVznQF*cvV#85L3XUb;~oE zI(dHXnT$1k5)nK>MvcW8dRwsmBXo;{0IQG2m;`6*y4EQ@EbQY84!Wk2(4JZn(TUPGG+oSPyM=TUCGHn1e3{epdiTvOvvdY!I4@mNL zQYLtGc~{Gmw)1we^76V<;`?Q z>c)O~_@6{R)z!XcRI&-1zSEN+?ZvDr7P!-&e9BLs6vBI2rw+Ne|A>&9W(NqMyH`|` zovzLoOu5L%O|+rb`2pw?e^Gfu?t7~?Ru+q0*lyZc7Vn07zy>)n>krXSfCB!WjUUo? zJ(2g=UzBZOt~kJQf)&aVJsWj|<%!bu;)XNY6=}pT6 zh#zMa&N!&!*yA!0NkHW6(H)HNM&;2U9V>;`6<_FTyd)9$S|qp)L>Y|y+Lw&N;527y zvWX*pbV8~W2*4jfdhJ~&lU3R@5S#SiThaRc|AB@?3o#aX@_Y6_>0a#BlEAKPm|rhe z<+3YP$g6pO))tan5G-C9*V@c``t3h@`8H;!7vhDehYR68r%h4hDcV zO<8Ber~EMY95jHa(c0|a^mld1*e?m%QmvmJwnVGIXgk(1ASb7)8pE&0mZI@}NK9Bp z*W}n*CC4Z^*aG!FA7Ft4oB@}HO7u`jzJ@t4wDU&*FP^5jh!IR>0KNlEv0Pjcot)Z7SzePNv2Kmdy@~Fd5CJiaT78{BGmf`4 zW_iR|WU}>4&mhi_6-V}b!BeZ!uCZ+o^LD7-4YQssXXWKUO;Ou`7!BQ~1QW^(P~i57 znh<`3xhg?EA$*?XjA8*mAr>;K^i*6Te$O6ZQ9I`_$o|;sl}J%r1{7XV(GmsmC33yQ zJFnRey{vxaocShDyLrI1{+U@Pr{laso*X3O7yKP5E|aBox@TXU#WH2Xaz?iM%mT3S zV*ud<4LRX1)fJLP9}1=~U^%^C5Ds=6qo8(^Z*VD4V0)^;Cb8W5EIYKK=2b-{ZHBD{ zg~M)IO&UUx=cTHu^E3zKFAGTPKRGAeId-ie`Tj1>DOzuizSz$%xQS|AaM3 zPct=FG3S}!rv$UN3+&(We)-}quxP(9W_kM`tv(nna>yP%G4YdZnkox%wzRxZz6Vq1 zsbrCBO9BFyb8PcEBG_KEYGJ`WHzkJG;zc19^q+O?!Y?_NBNZT;D9z6*8?*Dyop=HjZla z_a-b(I1i^bGYK3qo^&A9Ym>kK-W5=5>90-lCago>1y*J*sB*GoG8VE_-zq`-A?xY! zE3V(0<}DJro2JHr1gv`zbZ6ugfbn60N;O7bNhDLGlvsSE%GYdO@KIS7KRnCqe!%nY z32@KQzx1A)Q1c6k<%~J_{doGh%Xr4xQJGxu0>2Td6e&E__PgWCq=5&|i(9}YIAtEB zm37BM*q>6*ywo);4i1arMWoepddbozxVy|JO=-xTFusljK!EC09}|80BY~({o6e2h z$e&L}rI$w}kx)bpYP^E1%#mzZ4U&65zYFtKu%wtM;5O9_Y`~;Moev6cYR+8!vh~Zj z;2%NhLaKJQuD(ihs^zK&Z8x{2DIMp4OY#;nq=L|&C7+i((EQj)qSBCZFX8xKd zDVZlja5vZsWL*bs(WiYu#t=aFbSpO;s1-5jhSLFWEf zd0`GL^z@xI;Ty6^%I74mz@(Mwr1^p^PsYr87LbOV^hG-lqGX> zGQAo@)2*N<5tvO-Jn&@o^NxR?UzEhCpX(!3MJg(Ci=+E;iNW1}wbhx_Y|z^^iRX4}~|dB>XRF1D57JgFEN2MMx%v@^=InUabsHR|r4+H$ zOFStNrl*M{@*;u+MT#NsOR%ou&Kmx&P>GnjQ_+koDq-1pbt#~qn& zrHrgfBU*}m?GngWV>aS@Y0p=xxH^-Ox_go{Z1^uxGs0mQUs0)2i>KXH%A#hA1;nYU zjp%E>S-xq~L}UU$MeEf3;qBF@g zC1Y1q%D#OmsDMb&$qGuZbY?n(>h&WR)tyEY()=#3FSZ|;^3ExPrVG}58wsW}oL>u? zh*QnF0;XCjoI7Eb7iKX@8^{&b_8zZLL+RVqCNI&xpvc4GFD-W2g7sx6%fl* zlVSU&!WR&vf+j2@0hTGyw(_M&Hc$tv)N;Ck*BUDBwDfBj$8!|))Hq%|Yl)+!o`oJd z`iffWbyEl1clmmQxP!D5Bp(k~sWa=-rg@X6dFw8Et?8z8g0l{-#`69X)y$UxgvTZa zgyOK`7+pUKcse_p*$dceuqu9Y%gam=|o9K+G7 zmR~)g%=ld$6?4Q~5M)Zol4WNW3=Ql%bJgmq8ZYNLa}cOXn5MzAHeIWD-Um{X($><* zRndX546e2#+s{|1ZR<`6Q<^fKTlEK&XkMo&W&|+j%pp$Y%edq+D4H<7@f7m238G>w ztounG?fqV?Jtxd{wK-nCgAK)+3|0oCuft?ePng(EQLHF7k_PR!y~eisyS^7oacWqm-%QY$jL!?m@s(BztN|f~`Rer-+>?g&605H{ z$1!F6#Yv9P27+xSaX&!Quv+^ zHg=MthL=AXxbDz7yzKLVxSi1tJEl9_}XEVvPYOH n2hGTc`DU(JDk)l?BP>y*rdp+FULvFdsUUXl6aqQw^?(1_W$B6w diff --git a/examples/topics/data/wires.jpg b/examples/topics/data/wires.jpg deleted file mode 100644 index a0a6e24dd8e13af1da280b6a2f123a305db74435..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12813 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 CO%lie diff --git a/examples/topics/data/ystone08.jpg b/examples/topics/data/ystone08.jpg deleted file mode 100644 index 5428ada881a3ae39edb69383572db91d70f72880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56999 zcmcG#1ymec(=OaI0}Sr&8XN+_-C>a6PC{^o!7V`W5CQ~u3GN<(1qd-bKyde9fdIh? z{tr3td(Qjab-#PRb=Uf9R_}hMs`jqh(!F+9b>B|kE(7?gN-!k=1O@>r$RBXKOGKz; z@8ap=VejHf|A6N{AR-6Tfb3%G*m$@&dU?WKoB<@^-{}G%eiM?v_Ho~)xM+|$eYZw=Z%_KvW$+~Lli^h%Bv zb{@!j7JXORmUK|KAei2eOs_A7p>#03A))3vO+5*Hz?f z-t__i%lvf!e~mFMj=qjMy^FVvyZgTs?`H5X86}#oBi!n*+P+BUU%kH*13>S;4s5^| zumK#AKNsLB-~o6d&(27W2vYvW1wSWU|lB{1p5I}NB}`$Aml@p)wUpFbPM4}BTmS#lVf5g(fMroK)^k8L>|hL zsJp*%VC5l5TJZMyJ%uDaYsD{xo%%(6yjG8tSd)uhG^BKnuN@aRc1^6G z7}$D;rkq(uqPcYejt_Pn++5yYSz8!1|91 zx3d5?-Z@q`+H385KYDe?+=yHIG_Z`O*!gspHDb;ZxXF;qUI_-WWiA1%|+~O zI!hmij~hM;UY0FjmIXtvg^HTzU;cvPR@8Yrq2`^d-vah6luZWYO2eirltWoxo4o|c zLcdU`P}c39&@i3RwN#zm0$=YPtd10&M{NS(w&j@!!?#90MqXVal2k6J$Uo^G`a(heON{3>?AdBQMD z8nL>et@d15<=HEK zldH8&4-?$6ff%m`S7|{@iShsp9|hF&ayfi=Ax;Wp%*`{*FF20pas$IzPSc2_%9uNfsl3rfe1J)?9n)Fn>=d&fnmj-P*WBoxj6S%Oilp$6%)$^9e;_d4hWG^A_ggj@_K1Nw(*e5WI z3^m^ZjO$+m9&gWd)mCg`Ra)g|(x5m`uMfZUt45@s6YMe*0#Z~-D^d&={4tc=Nhwy- zLc!RF3kpF?__Jr?iDr0Q%yfJ1_`=TEh-Jv0l;m|aY}{bi@v?6`;VQ29ymv+!GuOyt z)?}mUVOCxOU90!5c10zH_vt BG*LI1NqRanBK{;9P)4Zb9qE{lJobz2M@SVIl(l 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

    VZ)hr}3RJL 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 diff --git a/examples/topics/edgedetection.html b/examples/topics/edgedetection.html deleted file mode 100644 index d26597e83..000000000 --- a/examples/topics/edgedetection.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -

    EdgeDetection

    - -

    Known to be broken. Needs a re-write of p.createImage(). Bug #243

    - -

    Exposing areas of contrast within an image -by processing it through a high-pass filter.

    - -

    Original Processing.org Example: EdgeDetection
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float[][] kernel = { { -1, -1, -1 },
    -                     { -1,  9, -1 },
    -                     { -1, -1, -1 } };
    -  
    -size(200, 200);
    -PImage img = loadImage("house.jpg"); // Load the original image
    -image(img, 0, 0); // Displays the image from point (0,0) 
    -img.loadPixels();
    -// Create an opaque image of the same size as the original
    -PImage edgeImg = createImage(img.width, img.height, RGB);
    -// Loop through every pixel in the image.
    -for (int y = 1; y < img.height-1; y++) { // Skip top and bottom edges
    -  for (int x = 1; x < img.width-1; x++) { // Skip left and right edges
    -    float sum = 0; // Kernel sum for this pixel
    -    for (int ky = -1; ky <= 1; ky++) {
    -      for (int kx = -1; kx <= 1; kx++) {
    -        // Calculate the adjacent pixel for this kernel point
    -        int pos = (y + ky)*img.width + (x + kx);
    -        // Image is grayscale, red/green/blue are identical
    -        float val = red(img.pixels[pos]);
    -        // Multiply adjacent pixels based on the kernel values
    -        sum += kernel[ky+1][kx+1] * val;
    -      }
    -    }
    -    // For this pixel in the new image, set the gray value
    -    // based on the sum from the kernel
    -    edgeImg.pixels[y*img.width + x] = color(sum);
    -  }
    -}
    -// State that there are changes to edgeImg.pixels[]
    -edgeImg.updatePixels();
    -image(edgeImg, 100, 0); // Draw the new image
    -
    - - diff --git a/examples/topics/flocking.html b/examples/topics/flocking.html deleted file mode 100644 index bdb0ea8ed..000000000 --- a/examples/topics/flocking.html +++ /dev/null @@ -1,727 +0,0 @@ - - - - - -

    Processing.js

    -

    Flocking

    - -

    by Daniel Shiffman. - -An implementation of Craig Reynold's Boids program to simulate -the flocking behavior of birds. Each boid steers itself based on -rules of avoidance, alignment, and coherence. - -Click the mouse to add a new boid.

    - -

    Original Processing.org Example: Flocking
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Flock flock;
    -
    -void setup() {
    -  size(200,200);
    -  colorMode(RGB,255,255,255,100);
    -  flock = new Flock();
    -  // Add an initial set of boids into the system
    -  for (int i = 0; i < 50; i++) {
    -    flock.addBoid(new Boid(new Vector3D(width/2,height/2),2.0f,0.05f));
    -  }
    -  smooth();
    -}
    -
    -void draw() {
    -
    -  background(100);
    -  flock.run();
    -}
    -
    -// Add a new boid into the System
    -void mousePressed() {
    -  flock.addBoid(new Boid(new Vector3D(mouseX,mouseY),2.0f,0.05f));
    -}
    -
    -class Flock {
    -  ArrayList boids; // An arraylist for all the boids
    -
    -  Flock() {
    -    boids = new ArrayList(); // Initialize the arraylist
    -  }
    -
    -  void run() {
    -    for (int i = 0; i < boids.size(); i++) {
    -      Boid b = (Boid) boids.get(i);  
    -      b.run(boids);  // Passing the entire list of boids to each boid individually
    -    }
    -  }
    -
    -  void addBoid(Boid b) {
    -    boids.add(b);
    -  }
    -
    -}
    -
    -
    -class Boid {
    -
    -  Vector3D loc;
    -  Vector3D vel;
    -  Vector3D acc;
    -  float r;
    -  float maxforce;    // Maximum steering force
    -  float maxspeed;    // Maximum speed
    -
    -  Boid(Vector3D l, float ms, float mf) {
    -    acc = new Vector3D(0,0);
    -    vel = new Vector3D(random(-1,1),random(-1,1));
    -    loc = l.copy();
    -    r = 2.0f;
    -    maxspeed = ms;
    -    maxforce = mf;
    -  }
    -  
    -  void run(ArrayList boids) {
    -    flock(boids);
    -    update();
    -    borders();
    -    render();
    -  }
    -
    -  // We accumulate a new acceleration each time based on three rules
    -  void flock(ArrayList boids) {
    -    Vector3D sep = separate(boids);   // Separation
    -    Vector3D ali = align(boids);      // Alignment
    -    Vector3D coh = cohesion(boids);   // Cohesion
    -    // Arbitrarily weight these forces
    -    sep.mult(2.0f);
    -    ali.mult(1.0f);
    -    coh.mult(1.0f);
    -    // Add the force vectors to acceleration
    -    acc.add(sep);
    -    acc.add(ali);
    -    acc.add(coh);
    -  }
    -  
    -  // Method to update location
    -  void update() {
    -    // Update velocity
    -    vel.add(acc);
    -    // Limit speed
    -    vel.limit(maxspeed);
    -    loc.add(vel);
    -    // Reset accelertion to 0 each cycle
    -    acc.setXYZ(0,0,0);
    -  }
    -
    -  void seek(Vector3D target) {
    -    acc.add(steer(target,false));
    -  }
    - 
    -  void arrive(Vector3D target) {
    -    acc.add(steer(target,true));
    -  }
    -
    -  // A method that calculates a steering vector towards a target
    -  // Takes a second argument, if true, it slows down as it approaches the target
    -  Vector3D steer(Vector3D target, boolean slowdown) {
    -    Vector3D steer;  // The steering vector
    -    Vector3D desired = target.sub(target,loc);  // A vector pointing from the location to the target
    -    float d = desired.magnitude(); // Distance from the target is the magnitude of the vector
    -    // If the distance is greater than 0, calc steering (otherwise return zero vector)
    -    if (d > 0) {
    -      // Normalize desired
    -      desired.normalize();
    -      // Two options for desired vector magnitude (1 -- based on distance, 2 -- maxspeed)
    -      if ((slowdown) && (d < 100.0f)) desired.mult(maxspeed*(d/100.0f)); // This damping is somewhat arbitrary
    -      else desired.mult(maxspeed);
    -      // Steering = Desired minus Velocity
    -      steer = target.sub(desired,vel);
    -      steer.limit(maxforce);  // Limit to maximum steering force
    -    } else {
    -      steer = new Vector3D(0,0);
    -    }
    -    return steer;
    -  }
    -  
    -  void render() {
    -    // Draw a triangle rotated in the direction of velocity
    -    float theta = vel.heading2D() + radians(90);
    -    fill(200);
    -    stroke(255);
    -    pushMatrix();
    -    translate(loc.x,loc.y);
    -    rotate(theta);
    -    beginShape(TRIANGLES);
    -    vertex(0, -r*2);
    -    vertex(-r, r*2);
    -    vertex(r, r*2);
    -    endShape();
    -    popMatrix();
    -  }
    -  
    -  // Wraparound
    -  void borders() {
    -    if (loc.x < -r) loc.x = width+r;
    -    if (loc.y < -r) loc.y = height+r;
    -    if (loc.x > width+r) loc.x = -r;
    -    if (loc.y > height+r) loc.y = -r;
    -  }
    -
    -  // Separation
    -  // Method checks for nearby boids and steers away
    -  Vector3D separate (ArrayList boids) {
    -    float desiredseparation = 25.0f;
    -    Vector3D sum = new Vector3D(0,0,0);
    -    int count = 0;
    -    // For every boid in the system, check if it's too close
    -    for (int i = 0 ; i < boids.size(); i++) {
    -      Boid other = (Boid) boids.get(i);
    -      float d = loc.distance(loc,other.loc);
    -      // If the distance is greater than 0 and less than an arbitrary amount (0 when you are yourself)
    -      if ((d > 0) && (d < desiredseparation)) {
    -        // Calculate vector pointing away from neighbor
    -        Vector3D diff = loc.sub(loc,other.loc);
    -        diff.normalize();
    -        diff.div(d);        // Weight by distance
    -        sum.add(diff);
    -        count++;            // Keep track of how many
    -      }
    -    }
    -    // Average -- divide by how many
    -    if (count > 0) {
    -      sum.div((float)count);
    -    }
    -    return sum;
    -  }
    -  
    -  // Alignment
    -  // For every nearby boid in the system, calculate the average velocity
    -  Vector3D align (ArrayList boids) {
    -    float neighbordist = 50.0f;
    -    Vector3D sum = new Vector3D(0,0,0);
    -    int count = 0;
    -    for (int i = 0 ; i < boids.size(); i++) {
    -      Boid other = (Boid) boids.get(i);
    -      float d = loc.distance(loc,other.loc);
    -      if ((d > 0) && (d < neighbordist)) {
    -        sum.add(other.vel);
    -        count++;
    -      }
    -    }
    -    if (count > 0) {
    -      sum.div((float)count);
    -      sum.limit(maxforce);
    -    }
    -    return sum;
    -  }
    -
    -  // Cohesion
    -  // For the average location (i.e. center) of all nearby boids, calculate steering vector towards that location
    -  Vector3D cohesion (ArrayList boids) {
    -    float neighbordist = 50.0f;
    -    Vector3D sum = new Vector3D(0,0,0);   // Start with empty vector to accumulate all locations
    -    int count = 0;
    -    for (int i = 0 ; i < boids.size(); i++) {
    -      Boid other = (Boid) boids.get(i);
    -      float d = loc.distance(loc,other.loc);
    -      if ((d > 0) && (d < neighbordist)) {
    -        sum.add(other.loc); // Add location
    -        count++;
    -      }
    -    }
    -    if (count > 0) {
    -      sum.div((float)count);
    -      return steer(sum,false);  // Steer towards the location
    -    }
    -    return sum;
    -  }
    -}
    -
    -// Simple Vector3D Class 
    -
    -static class Vector3D {
    -  float x;
    -  float y;
    -  float z;
    -
    -  Vector3D(float x_, float y_, float z_) {
    -    x = x_; y = y_; z = z_;
    -  }
    -
    -  Vector3D(float x_, float y_) {
    -    x = x_; y = y_; z = 0f;
    -  }
    -  
    -  Vector3D() {
    -    x = 0f; y = 0f; z = 0f;
    -  }
    -
    -  void setX(float x_) {
    -    x = x_;
    -  }
    -
    -  void setY(float y_) {
    -    y = y_;
    -  }
    -
    -  void setZ(float z_) {
    -    z = z_;
    -  }
    -  
    -  void setXY(float x_, float y_) {
    -    x = x_;
    -    y = y_;
    -  }
    -  
    -  void setXYZ(float x_, float y_, float z_) {
    -    x = x_;
    -    y = y_;
    -    z = z_;
    -  }
    -
    -  void setXYZ(Vector3D v) {
    -    x = v.x;
    -    y = v.y;
    -    z = v.z;
    -  }
    -  
    -  float magnitude() {
    -    return (float) Math.sqrt(x*x + y*y + z*z);
    -  }
    -
    -  Vector3D copy() {
    -    return new Vector3D(x,y,z);
    -  }
    -
    -  Vector3D copy(Vector3D v) {
    -    return new Vector3D(v.x, v.y,v.z);
    -  }
    -  
    -  void add(Vector3D v) {
    -    x += v.x;
    -    y += v.y;
    -    z += v.z;
    -  }
    -
    -  void sub(Vector3D v) {
    -    x -= v.x;
    -    y -= v.y;
    -    z -= v.z;
    -  }
    -
    -  void mult(float n) {
    -    x *= n;
    -    y *= n;
    -    z *= n;
    -  }
    -
    -  void div(float n) {
    -    x /= n;
    -    y /= n;
    -    z /= n;
    -  }
    -
    -  void normalize() {
    -    float m = magnitude();
    -    if (m > 0) {
    -       div(m);
    -    }
    -  }
    -
    -  void limit(float max) {
    -    if (magnitude() > max) {
    -      normalize();
    -      mult(max);
    -    }
    -  }
    -
    -  float heading2D() {
    -    float angle = (float) Math.atan2(-y, x);
    -    return -1*angle;
    -  }
    -
    -  Vector3D add(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x + v2.x,v1.y + v2.y, v1.z + v2.z);
    -    return v;
    -  }
    -
    -  Vector3D sub(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x - v2.x,v1.y - v2.y,v1.z - v2.z);
    -    return v;
    -  }
    -
    -  Vector3D div(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x/n,v1.y/n,v1.z/n);
    -    return v;
    -  }
    -
    -  Vector3D mult(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x*n,v1.y*n,v1.z*n);
    -    return v;
    -  }
    -
    -  float distance (Vector3D v1, Vector3D v2) {
    -    float dx = v1.x - v2.x;
    -    float dy = v1.y - v2.y;
    -    float dz = v1.z - v2.z;
    -    return (float) Math.sqrt(dx*dx + dy*dy + dz*dz);
    -  }
    -
    -}
    - - diff --git a/examples/topics/fluid.html b/examples/topics/fluid.html deleted file mode 100644 index 86f98b657..000000000 --- a/examples/topics/fluid.html +++ /dev/null @@ -1,419 +0,0 @@ - - - - - -

    Processing.js

    -

    Fluid

    - -

    by Glen Murphy. - -Click and drag the mouse to move the simulated fluid. -Adjust the "res" variable below to change resolution. -Code has not been optimised, and will run fairly slowly. - -Completed 5 November 2002

    - -

    Original Processing.org Example: Fluid
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int res = 2;
    -int penSize = 30;
    -int lwidth;
    -int lheight;
    -int pnum = 30000;
    -vsquare[][] v;
    -vbuffer[][] vbuf;
    -particle[] p = new particle[pnum];
    -int pcount = 0;
    -int mouseXvel = 0;
    -int mouseYvel = 0;
    -
    -void setup() 
    -{
    -  size(200,200);
    -  noStroke();
    -  frameRate(30);
    -  lwidth = width/res;
    -  lheight = height/res;
    -  v = new vsquare[lwidth+1][lheight+1];
    -  vbuf = new vbuffer[lwidth+1][lheight+1];
    -  for (int i = 0; i < pnum; i++) {
    -    p[i] = new particle(random(res,width-res),random(res,height-res));
    -  }
    -  for (int i = 0; i <= lwidth; i++) {
    -    for (int u = 0; u <= lheight; u++) {
    -      v[i][u] = new vsquare(i*res,u*res);
    -      vbuf[i][u] = new vbuffer(i*res,u*res);
    -    }
    -  }
    -}
    -
    -void draw() 
    -{
    -  background(#666666);
    -  
    -  int axvel = mouseX-pmouseX;
    -  int ayvel = mouseY-pmouseY;
    -
    -  mouseXvel = (axvel != mouseXvel) ? axvel : 0;
    -  mouseYvel = (ayvel != mouseYvel) ? ayvel : 0;
    -
    -  for (int i = 0; i < lwidth; i++) {
    -    for (int u = 0; u < lheight; u++) {
    -      vbuf[i][u].updatebuf(i,u);
    -      v[i][u].col = 32;
    -    }
    -  }
    -  for (int i = 0; i < pnum-1; i++) {
    -    p[i].updatepos();
    -  }
    -  for (int i = 0; i < lwidth; i++) {
    -    for (int u = 0; u < lheight; u++) {
    -      v[i][u].addbuffer(i, u);
    -      v[i][u].updatevels(mouseXvel, mouseYvel);
    -      v[i][u].display(i, u);
    -    }
    -  }
    -}
    -
    -class particle {
    -  float x;
    -  float y;
    -  float xvel;
    -  float yvel;
    -  int pos;
    -  particle(float xIn, float yIn) {
    -    x = xIn;
    -    y = yIn;
    -  }
    -
    -  void updatepos() {
    -    float col1;
    -    if (x > 0 && x < width && y > 0 && y < height) {
    -      int vi = (int)(x/res);
    -      int vu = (int)(y/res);
    -      vsquare o = v[vi][vu];    
    -      
    -      float ax = (x%res)/res;
    -      float ay = (y%res)/res;
    -      
    -      xvel += (1-ax)*v[vi][vu].xvel*0.05;
    -      yvel += (1-ay)*v[vi][vu].yvel*0.05;
    -      
    -      xvel += ax*v[vi+1][vu].xvel*0.05;
    -      yvel += ax*v[vi+1][vu].yvel*0.05;
    -      
    -      xvel += ay*v[vi][vu+1].xvel*0.05;
    -      yvel += ay*v[vi][vu+1].yvel*0.05;
    -
    -      o.col += 4;
    -      
    -      x += xvel;
    -      y += yvel;
    -    }
    -    else {
    -      x = random(0,width);
    -      y = random(0,height);
    -      xvel = 0;
    -      yvel = 0;
    -    }
    -
    -    xvel *= 0.5;
    -    yvel *= 0.5;
    -  }
    -}
    -
    -class vbuffer {
    -  int x;
    -  int y;
    -  float xvel;
    -  float yvel;
    -  float pressurex = 0;
    -  float pressurey = 0;
    -  float pressure = 0;
    -
    -  vbuffer(int xIn,int yIn) {
    -    x = xIn;
    -    y = yIn;
    -    pressurex = 0;
    -    pressurey = 0;
    -    }
    -
    -  void updatebuf(int i, int u) {
    -    if (i>0 && i<lwidth && u>0 && u<lheight) {
    -      pressurex = (v[i-1][u-1].xvel*0.5 + v[i-1][u].xvel + v[i-1][u+1].xvel*0.5 - v[i+1][u-1].xvel*0.5 - v[i+1][u].xvel - v[i+1][u+1].xvel*0.5);
    -      pressurey = (v[i-1][u-1].yvel*0.5 + v[i][u-1].yvel + v[i+1][u-1].yvel*0.5 - v[i-1][u+1].yvel*0.5 - v[i][u+1].yvel - v[i+1][u+1].yvel*0.5);
    -      pressure = (pressurex + pressurey)*0.25;
    -      }
    -    }
    -  }
    -
    -class vsquare {
    -  int x;
    -  int y;
    -  float xvel;
    -  float yvel;
    -  float col;
    -
    -  vsquare(int xIn,int yIn) {
    -    x = xIn;
    -    y = yIn;
    -    }
    -
    -  void addbuffer(int i, int u) {
    -    if (i>0 && i<lwidth && u>0 && u<lheight) {
    -      xvel += (vbuf[i-1][u-1].pressure*0.5
    -              +vbuf[i-1][u].pressure
    -              +vbuf[i-1][u+1].pressure*0.5
    -              -vbuf[i+1][u-1].pressure*0.5
    -              -vbuf[i+1][u].pressure
    -              -vbuf[i+1][u+1].pressure*0.5
    -              )*0.25;
    -      yvel += (vbuf[i-1][u-1].pressure*0.5
    -              +vbuf[i][u-1].pressure
    -              +vbuf[i+1][u-1].pressure*0.5
    -              -vbuf[i-1][u+1].pressure*0.5
    -              -vbuf[i][u+1].pressure
    -              -vbuf[i+1][u+1].pressure*0.5
    -              )*0.25;
    -      }
    -    }
    -
    -  void updatevels(int mvelX, int mvelY) {
    -    if (mousePressed) {
    -      float adj = x - mouseX;
    -      float opp = y - mouseY;
    -      float dist = sqrt(opp*opp + adj*adj);
    -      if (dist < penSize) {
    -        if (dist < 4) dist = penSize;
    -        float mod = penSize/dist;
    -        xvel += mvelX*mod;
    -        yvel += mvelY*mod;
    -        }
    -      }
    -
    -    xvel *= 0.99;
    -    yvel *= 0.99;
    -  }
    -  
    -  void display(int i, int u) {
    -    float tcol = 0;
    -    if (col > 255) col = 255;
    -    if (i>0 && i<lwidth-1 && u>0 && u<lheight-1) {
    -      tcol = (+ v[i][u+1].col 
    -              + v[i+1][u].col 
    -              + v[i+1][u+1].col*0.5
    -              )*0.4;
    -      tcol = (int)(tcol+col*0.5);
    -      }
    -    else {
    -      tcol = (int)col;
    -      }
    -    fill(tcol, tcol, tcol);
    -    rect(x,y,res,res);
    -  }
    -}
    - - diff --git a/examples/topics/follow1.html b/examples/topics/follow1.html deleted file mode 100644 index ff935a7fd..000000000 --- a/examples/topics/follow1.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - -

    Processing.js

    -

    Follow1

    - -

    Based on code from Keith Peters (www.bit-101.com). - -A line segment is pushed and pulled by the cursor.

    - -

    Original Processing.org Example: Follow1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float x = 100;
    -float y = 100;
    -float angle1 = 0.0;
    -float segLength = 50;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(20.0);
    -  stroke(0, 100);
    -}
    -
    -void draw() {
    -  background(226);
    -  
    -  float dx = mouseX - x;
    -  float dy = mouseY - y;
    -  angle1 = atan2(dy, dx);  
    -  x = mouseX - (cos(angle1) * segLength);
    -  y = mouseY - (sin(angle1) * segLength);
    - 
    -  segment(x, y, angle1); 
    -  ellipse(x, y, 20, 20);
    -}
    -
    -void segment(float x, float y, float a) {
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/follow2.html b/examples/topics/follow2.html deleted file mode 100644 index 1826cb8fd..000000000 --- a/examples/topics/follow2.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - - -

    Processing.js

    -

    Follow2

    - -

    Based on code from Keith Peters (www.bit-101.com). - -A two-segmented arm follows the cursor position. The relative -angle between the segments is calculated with atan2() and the -position calculated with sin() and cos().

    - -

    Original Processing.org Example: Follow2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float[] x = new float[2];
    -float[] y = new float[2];
    -float segLength = 50;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(20.0);
    -  stroke(0, 100);
    -}
    -
    -void draw() {
    -  background(226);
    -  dragSegment(0, mouseX, mouseY);
    -  dragSegment(1, x[0], y[0]);
    -}
    -
    -void dragSegment(int i, float xin, float yin) {
    -  float dx = xin - x[i];
    -  float dy = yin - y[i];
    -  float angle = atan2(dy, dx);  
    -  x[i] = xin - cos(angle) * segLength;
    -  y[i] = yin - sin(angle) * segLength;
    -  segment(x[i], y[i], angle);
    -}
    -
    -void segment(float x, float y, float a) {
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/follow3.html b/examples/topics/follow3.html deleted file mode 100644 index 803ae8879..000000000 --- a/examples/topics/follow3.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - -

    Processing.js

    -

    Follow3

    - -

    Based on code from Keith Peters (www.bit-101.com). - -A segmented line follows the mouse. The relative angle from -each segment to the next is calculated with atan2() and the -position of the next is calculated with sin() and cos().

    - -

    Original Processing.org Example: Follow3
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float[] x = new float[20];
    -float[] y = new float[20];
    -float segLength = 9;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(5);
    -  stroke(0, 100);
    -}
    -
    -void draw() {
    -  background(226);
    -  dragSegment(0, mouseX, mouseY);
    -  for(int i=0; i<x.length-1; i++) {
    -    dragSegment(i+1, x[i], y[i]);
    -  }
    -}
    -
    -void dragSegment(int i, float xin, float yin) {
    -  float dx = xin - x[i];
    -  float dy = yin - y[i];
    -  float angle = atan2(dy, dx);  
    -  x[i] = xin - cos(angle) * segLength;
    -  y[i] = yin - sin(angle) * segLength;
    -  segment(x[i], y[i], angle);
    -}
    -
    -void segment(float x, float y, float a) {
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/handles.html b/examples/topics/handles.html deleted file mode 100644 index ae8569c00..000000000 --- a/examples/topics/handles.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - -

    Processing.js

    -

    Handles

    - -

    Click and drag the white boxes to change their position.

    - -

    Original Processing.org Example: Handles
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Handle[] handles;
    -int num;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  num = height/15;
    -  handles = new Handle[num];
    -  int hsize = 10;
    -  for(int i=0; i<num; i++) {
    -    handles[i] = new Handle(width/2, 10+i*15, 50-hsize/2, 10, handles);
    -  }
    -}
    -
    -void draw()
    -{
    -  background(153);
    -  
    -  for(int i=0; i<num; i++) {
    -    handles[i].update();
    -    handles[i].display();
    -  }
    -  
    -  fill(0);
    -  rect(0, 0, width/2, height);
    -}
    -
    -void mouseReleased() 
    -{
    -  for(int i=0; i<num; i++) {
    -    handles[i].release();
    -  }
    -}
    -
    -class Handle
    -{
    -  int x, y;
    -  int boxx, boxy;
    -  int length;
    -  int size;
    -  boolean over;
    -  boolean press;
    -  boolean locked = false;
    -  boolean otherslocked = false;
    -  Handle[] others;
    -  
    -  Handle(int ix, int iy, int il, int is, Handle[] o)
    -  {
    -    x = ix;
    -    y = iy;
    -    length = il;
    -    size = is;
    -    boxx = x+length - size/2;
    -    boxy = y - size/2;
    -    others = o;
    -  }
    -  
    -  void update() 
    -  {
    -    boxx = x+length;
    -    boxy = y - size/2;
    -    
    -    for(int i=0; i<others.length; i++) {
    -      if(others[i].locked == true) {
    -        otherslocked = true;
    -        break;
    -      } else {
    -        otherslocked = false;
    -      }  
    -    }
    -    
    -    if(otherslocked == false) {
    -      over();
    -      press();
    -    }
    -    
    -    if(press) {
    -      length = lock(mouseX-width/2-size/2, 0, width/2-size-1);
    -    }
    -  }
    -  
    -  void over()
    -  {
    -    if(overRect(boxx, boxy, size, size)) {
    -      over = true;
    -    } else {
    -      over = false;
    -    }
    -  }
    -  
    -  void press()
    -  {
    -    if(over && mousePressed || locked) {
    -      press = true;
    -      locked = true;
    -    } else {
    -      press = false;
    -    }
    -  }
    -  
    -  void release()
    -  {
    -    locked = false;
    -  }
    -  
    -  void display() 
    -  {
    -    line(x, y, x+length, y);
    -    fill(255);
    -    stroke(0);
    -    rect(boxx, boxy, size, size);
    -    if(over || press) {
    -      line(boxx, boxy, boxx+size, boxy+size);
    -      line(boxx, boxy+size, boxx+size, boxy);
    -    }
    -
    -  }
    -}
    -
    -boolean overRect(int x, int y, int width, int height) 
    -{
    -  if (mouseX >= x && mouseX <= x+width && 
    -      mouseY >= y && mouseY <= y+height) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    -
    -int lock(int val, int minv, int maxv) 
    -{ 
    -  return  min(max(val, minv), maxv); 
    -}
    - - diff --git a/examples/topics/histogram.html b/examples/topics/histogram.html deleted file mode 100644 index 8a1631084..000000000 --- a/examples/topics/histogram.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - -

    Processing.js

    -

    Histogram

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    Calculates the histogram of an image. -A histogram is the frequency distribution -of the gray levels with the number of pure black values -displayed on the left and number of pure white values on the right.

    - -

    Original Processing.org Example: Histogram
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -size(200, 200);
    -colorMode(RGB, width);
    -
    -int[] hist = new int[width];
    -
    -// Load an image from the data directory
    -// Load a different image by modifying the comments
    -PImage a;
    -a = loadImage("data/cdi01_g.jpg", null, function(){
    -
    -  image(a, 0, 0);
    -
    -  // Calculate the histogram
    -  for (int i=0; i maxval) {
    -      maxval = hist[i];
    -    }  
    -  }
    -
    -  // Normalize the histogram to values between 0 and "height"
    -  for (int i=0; i
    -
    -
    diff --git a/examples/topics/imagebutton.html b/examples/topics/imagebutton.html
    deleted file mode 100644
    index 10aa5b8a7..000000000
    --- a/examples/topics/imagebutton.html
    +++ /dev/null
    @@ -1,220 +0,0 @@
    -
    -
    -
    -  
    -
    -

    Processing.js

    -

    ImageButton

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    Loading images and using them to create a button.

    - -

    Original Processing.org Example: ImageButton
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -
    -/* @pjs preload="data/base.gif, data/roll.gif, data/down.gif"; */
    -
    -ImageButtons button;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  background(102, 102, 102);
    -  
    -  // Define and create image button
    -  PImage b = loadImage("base.gif");
    -  PImage r = loadImage("roll.gif");
    -  PImage d = loadImage("down.gif");
    -  int x = width/2 - b.width/2;
    -  int y = height/2 - b.height/2; 
    -  int w = b.width;
    -  int h = b.height;
    -  button = new ImageButtons(x, y, w, h, b, r, d);
    -}
    -
    -void draw()
    -{
    -  button.update();
    -  button.display();
    -}
    -
    -class Button
    -{
    -  int x, y;
    -  int w, h;
    -  color basecolor, highlightcolor;
    -  color currentcolor;
    -  boolean over = false;
    -  boolean pressed = false;   
    -  
    -  void pressed() {
    -    if(over && mousePressed) {
    -      pressed = true;
    -    } else {
    -      pressed = false;
    -    }    
    -  }
    -  
    -  boolean overRect(int x, int y, int width, int height) {
    -  if (mouseX >= x && mouseX <= x+width && 
    -      mouseY >= y && mouseY <= y+height) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    -}
    -
    -class ImageButtons extends Button 
    -{
    -  PImage base;
    -  PImage roll;
    -  PImage down;
    -  PImage currentimage;
    -
    -  ImageButtons(int ix, int iy, int iw, int ih, PImage ibase, PImage iroll, PImage idown) 
    -  {
    -    x = ix;
    -    y = iy;
    -    w = iw;
    -    h = ih;
    -    base = ibase;
    -    roll = iroll;
    -    down = idown;
    -    currentimage = base;
    -  }
    -  
    -  void update() 
    -  {
    -    over();
    -    pressed();
    -    if(pressed) {
    -      currentimage = down;
    -    } else if (over){
    -      currentimage = roll;
    -    } else {
    -      currentimage = base;
    -    }
    -  }
    -  
    -  void over() 
    -  {
    -    if( overRect(x, y, w, h) ) {
    -      over = true;
    -    } else {
    -      over = false;
    -    }
    -  }
    -  
    -  void display() 
    -  {
    -    image(currentimage, x, y);
    -  }
    -}
    - - diff --git a/examples/topics/index.html b/examples/topics/index.html deleted file mode 100644 index aaf4b4748..000000000 --- a/examples/topics/index.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - -

    Processing.js

    -

    Topic Demos

    - -

    Topical demonstrations of how Processing works, from the Processing.org web site. All of the following demos were written by Casey Reas and Ben Fry unless otherwise stated.

    - -

    Processing.org Topic Demos

    - - - - diff --git a/examples/topics/koch.html b/examples/topics/koch.html deleted file mode 100644 index 10def8d36..000000000 --- a/examples/topics/koch.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - -

    Processing.js

    -

    Koch

    - -

    by Daniel Shiffman. - -Renders a simple fractal, the Koch snowflake. -Each recursive level drawn in sequence.

    - -

    Original Processing.org Example: Koch
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -KochFractal k;
    -
    -void setup() {
    -  size(200,200);
    -  background(0);
    -  frameRate(1);  // Animate slowly
    -  k = new KochFractal();
    -  smooth();
    -}
    -
    -void draw() {
    -  background(0);
    -  // Draws the snowflake!
    -  k.render();
    -  // Iterate
    -  k.nextLevel();
    -  // Let's not do it more than 5 times. . .
    -  if (k.getCount() > 5) {
    -    k.restart();
    -  }
    -
    -}
    -
    -
    -// A class to manage the list of line segments in the snowflake pattern
    -
    -class KochFractal {
    -  Point start;       // A point for the start
    -  Point end;         // A point for the end
    -  ArrayList lines;   // A list to keep track of all the lines
    -  int count;
    -  
    -  public KochFractal()
    -  {
    -    start = new Point(0,height/2 + height/4);
    -    end = new Point(width,height/2  + height/4);
    -    lines = new ArrayList();
    -    restart();
    -  }
    -
    -  void nextLevel()
    -  {  
    -    // For every line that is in the arraylist
    -    // create 4 more lines in a new arraylist
    -    lines = iterate(lines);
    -    count++;
    -  }
    -
    -  void restart()
    -  { 
    -    count = 0;      // Reset count
    -    lines.clear();  // Empty the array list
    -    lines.add(new KochLine(start,end));  // Add the initial line (from one end point to the other)
    -  }
    -  
    -  int getCount() {
    -    return count;
    -  }
    -  
    -  // This is easy, just draw all the lines
    -  void render()
    -  {
    -    for(int i = 0; i < lines.size(); i++) {
    -      KochLine l = (KochLine)lines.get(i);
    -      l.render();
    -    }
    -  }
    -
    -  // This is where the **MAGIC** happens
    -  // Step 1: Create an empty arraylist
    -  // Step 2: For every line currently in the arraylist
    -  //   - calculate 4 line segments based on Koch algorithm
    -  //   - add all 4 line segments into the new arraylist
    -  // Step 3: Return the new arraylist and it becomes the list of line segments for the structure
    -  
    -  // As we do this over and over again, each line gets broken into 4 lines, which gets broken into 4 lines, and so on. . . 
    -  ArrayList iterate(ArrayList before)
    -  {
    -    ArrayList now = new ArrayList();    //Create emtpy list
    -    for(int i = 0; i < before.size(); i++)
    -    {
    -      KochLine l = (KochLine)lines.get(i);   // A line segment inside the list
    -      // Calculate 5 koch points (done for us by the line object)
    -      Point a = l.start();                 
    -      Point b = l.kochleft();
    -      Point c = l.kochmiddle();
    -      Point d = l.kochright();
    -      Point e = l.end();
    -      // Make line segments between all the points and add them
    -      now.add(new KochLine(a,b));
    -      now.add(new KochLine(b,c));
    -      now.add(new KochLine(c,d));
    -      now.add(new KochLine(d,e));
    -    }
    -    return now;
    -  }
    -
    -}
    -
    -
    -// A class to describe one line segment in the fractal
    -// Includes methods to calculate midpoints along the line according to the Koch algorithm
    -
    -class KochLine {
    -  
    -  // Two points,
    -  // a is the "left" point and 
    -  // b is the "right point
    -  Point a,b;
    -  
    -  KochLine(Point a_, Point b_) {
    -     a = a_.copy();
    -     b = b_.copy();
    -  }
    -  
    -  void render() {
    -    stroke(255);
    -    line(a.x,a.y,b.x,b.y);
    -  }
    -  
    -  Point start() {
    -    return a.copy();
    -  }
    -  
    -  Point end() {
    -    return b.copy();
    -  }
    -      
    -  // This is easy, just 1/3 of the way
    -  Point kochleft()
    -  {
    -    float x = a.x + (b.x - a.x) / 3f;
    -    float y = a.y + (b.y - a.y) / 3f;
    -    return new Point(x,y);
    -  }    
    -  
    -  // More complicated, have to use a little trig to figure out where this point is!
    -  Point kochmiddle()
    -  {
    -    float x = a.x + 0.5f * (b.x - a.x) + (sin(radians(60))*(b.y-a.y)) / 3;
    -    float y = a.y + 0.5f * (b.y - a.y) - (sin(radians(60))*(b.x-a.x)) / 3;
    -    return new Point(x,y);
    -  }    
    -
    -  // Easy, just 2/3 of the way
    -  Point kochright()
    -  {
    -    float x = a.x + 2*(b.x - a.x) / 3f;
    -    float y = a.y + 2*(b.y - a.y) / 3f;
    -    return new Point(x,y);
    -  }    
    -
    -}
    -
    -class Point {
    -  float x,y;
    -  
    -  Point(float x_, float y_) {
    -    x = x_;
    -    y = y_;
    -  }
    -  
    -  Point copy() {
    -    return new Point(x,y);
    -  }
    -}
    - - diff --git a/examples/topics/linear.html b/examples/topics/linear.html deleted file mode 100644 index abd3c996e..000000000 --- a/examples/topics/linear.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - -

    Processing.js

    -

    Linear

    - -

    Changing a variable to create a moving line. -When the line moves off the edge of the window, -the variable is set to 0, which places the line -back at the bottom of the screen.

    - -

    Original Processing.org Example: Linear
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float a = 100;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  stroke(255);
    -  frameRate(30);
    -}
    -
    -void draw() 
    -{
    -  background(51);
    -  a = a - 1;
    -  if (a < 0) { 
    -    a = height; 
    -  }
    -  line(0, a, width, a);  
    -}
    - - diff --git a/examples/topics/linearimage.html b/examples/topics/linearimage.html deleted file mode 100644 index 44936fa13..000000000 --- a/examples/topics/linearimage.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - -

    Processing.js

    -

    LinearImage

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    Click and drag mouse up and down to control the signal. -Press and hold any key to watch the scanning.

    - -

    Original Processing.org Example: LinearImage
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -PImage a;
    -boolean onetime = true;
    -int[] aPixels = new int[200*200];
    -int direction = 1;
    -
    -float signal;
    -
    -void setup() 
    -{
    -  size(33, 33);
    -  stroke(255);
    -  a = loadImage("data/cait.jpg", null, function(){
    -    for(int i=0; i
    -
    -
    diff --git a/examples/topics/loadfile1.html b/examples/topics/loadfile1.html
    deleted file mode 100644
    index db66ff042..000000000
    --- a/examples/topics/loadfile1.html
    +++ /dev/null
    @@ -1,66 +0,0 @@
    -
    -
    -
    -  
    -
    -

    Processing.js

    -

    LoadFile1

    - -

    Loads a text file that contains two numbers separated by a tab ('\t'). -A new pair of numbers is loaded each frame and used to draw a point on the screen.

    - -

    Original Processing.org Example: LoadFile1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -String[] lines;
    -int index = 0;
    -
    -void setup() {
    -  size(200, 200);
    -  background(0);
    -  stroke(255);
    -  frameRate(12);
    -  lines = loadStrings("positions.txt");
    -}
    -
    -void draw() {
    -  if (index < lines.length) {
    -    String[] pieces = split(lines[index], '\t');
    -    if (pieces.length == 2) {
    -      int x = int(pieces[0]) * 2;
    -      int y = int(pieces[1]) * 2;
    -      point(x, y);
    -    }
    -    // Go to the next line for the next run through draw()
    -    index = index + 1;
    -  }
    -}
    - - diff --git a/examples/topics/loadfile2.html b/examples/topics/loadfile2.html deleted file mode 100644 index 3c56bd4a3..000000000 --- a/examples/topics/loadfile2.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - -

    Processing.js

    -

    LoadFile2

    - -

    This example loads a data file about cars. Each element is separated -with a tab and corresponds to a different aspect of each car. The file stores -the miles per gallon, cylinders, displacement, etc., for more than 400 different -makes and models. Press a mouse button to advance to the next group of entries.

    - -

    Original Processing.org Example: LoadFile2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Record[] records;
    -String[] lines;
    -int recordCount;
    -PFont body;
    -int num = 9; // Display this many entries on each screen.
    -int startingEntry = 0;  // Display from this entry number
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  fill(255);
    -  noLoop();
    -  
    -  body = loadFont("TheSans-Plain-12.vlw");
    -  textFont(body);
    -  
    -  lines = loadStrings("cars2.tsv");
    -  records = new Record[lines.length];
    -  for (int i = 0; i < lines.length; i++) {
    -    String[] pieces = split(lines[i], '\t'); // Load data into arrayif (pieces.length == 9) {
    -    records[recordCount] = new Record(pieces);
    -    recordCount++;
    -  }
    -}
    -
    -void draw() {
    -  background(0);
    -  for (int i = 0; i < num; i++) {
    -    int thisEntry = startingEntry + i;
    -    text(thisEntry + " > " + records[thisEntry].name, 20, 20 + i*20); // Print name to console
    -  }
    -}
    -
    -void mousePressed() {
    -  startingEntry += num; 
    -  if (startingEntry + num > records.length) {
    -    startingEntry -= num;
    -  } 
    -  redraw();
    -}
    -
    -class Record {
    -  String name;
    -  float mpg;
    -  int cylinders;
    -  float displacement;
    -  float horsepower;
    -  float weight;
    -  float acceleration;
    -  int year;
    -  float origin;
    -  public Record(String[] pieces) {
    -    name = pieces[0];
    -    mpg = float(pieces[1]);
    -    cylinders = int(pieces[2]);
    -    displacement = float(pieces[3]);
    -    horsepower = float(pieces[4]);
    -    weight = float(pieces[5]);
    -    acceleration = float(pieces[6]);
    -    year = int(pieces[7]);
    -    origin = float(pieces[8]);
    -  }
    -}
    - - diff --git a/examples/topics/mandelbrot.html b/examples/topics/mandelbrot.html deleted file mode 100644 index 05dcd46c0..000000000 --- a/examples/topics/mandelbrot.html +++ /dev/null @@ -1,145 +0,0 @@ - - - - - -

    Processing.js

    -

    Mandelbrot

    - -

    by Daniel Shiffman. - -Simple rendering of the Mandelbrot set.

    - -

    Original Processing.org Example: Mandelbrot
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// Establish a range of values on the complex plane
    -// A different range will allow us to "zoom" in or out on the fractal
    -// float xmin = -1.5; float ymin = -.1; float wh = 0.15;
    -float xmin = -2.5; 
    -float ymin = -2; 
    -float wh = 4;
    -
    -void setup() {
    -  size(200, 200);
    -  noLoop();
    -}
    -
    -void draw() {
    -
    -  loadPixels();
    -  
    -  // Maximum number of iterations for each point on the complex plane
    -  int maxiterations = 200;
    -
    -  // x goes from xmin to xmax
    -  float xmax = xmin + wh;
    -  // y goes from ymin to ymax
    -  float ymax = ymin + wh;
    -  
    -  // Calculate amount we increment x,y for each pixel
    -  float dx = (xmax - xmin) / (width);
    -  float dy = (ymax - ymin) / (height);
    -
    -  // Start y
    -  float y = ymin;
    -  for(int j = 0; j < height; j++) {
    -    // Start x
    -    float x = xmin;
    -    for(int i = 0;  i < width; i++) {
    -      
    -      // Now we test, as we iterate z = z^2 + cm does z tend towards infinity?
    -      float a = x;
    -      float b = y;
    -      int n = 0;
    -      while (n < maxiterations) {
    -        float aa = a * a;
    -        float bb = b * b;
    -        float twoab = 2.0 * a * b;
    -        a = aa - bb + x;
    -        b = twoab + y;
    -        // Infinty in our finite world is simple, let's just consider it 16
    -        if(aa + bb > 16.0f) {
    -          break;  // Bail
    -        }
    -        n++;
    -      }
    -      
    -      // We color each pixel based on how long it takes to get to infinity
    -      // If we never got there, let's pick the color black
    -      if (n == maxiterations) pixels[i+j*width] = 0;
    -      else pixels[i+j*width] = color(n*16 % 255);  // Gosh, we could make fancy colors here if we wanted
    -      x += dx;
    -    }
    -    y += dy;
    -  }
    -  updatePixels();
    -}
    - - diff --git a/examples/topics/movingoncurves.html b/examples/topics/movingoncurves.html deleted file mode 100644 index 49eb2c85a..000000000 --- a/examples/topics/movingoncurves.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - -

    Processing.js

    -

    MovingOnCurves

    - -

    In this example, the circles moves along the curve y = x^4. -Click the mouse to have it move to a new position.

    - -

    Original Processing.org Example: MovingOnCurves
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float beginX = 20.0;  // Initial x-coordinate
    -float beginY = 10.0;  // Initial y-coordinate
    -float endX = 170.0;   // Final x-coordinate
    -float endY = 180.0;   // Final y-coordinate
    -float distX;          // X-axis distance to move
    -float distY;          // Y-axis distance to move
    -float exponent = 4;   // Determines the curve
    -float x = 0.0;        // Current x-coordinate
    -float y = 0.0;        // Current y-coordinate
    -float step = 0.01;    // Size of each step along the path
    -float pct = 0.0;      // Percentage traveled (0.0 to 1.0)
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  noStroke();
    -  smooth();
    -  distX = endX - beginX;
    -  distY = endY - beginY;
    -}
    -
    -void draw() 
    -{
    -  fill(0, 2);
    -  rect(0, 0, width, height);
    -  pct += step;
    -  if (pct < 1.0) {
    -    x = beginX + (pct * distX);
    -    y = beginY + (pow(pct, exponent) * distY);
    -  }
    -  fill(255);
    -  ellipse(x, y, 20, 20);
    -}
    -
    -void mousePressed() {
    -  pct = 0.0;
    -  beginX = x;
    -  beginY = y;
    -  endX = mouseX;
    -  endY = mouseY;
    -  distX = endX - beginX;
    -  distY = endY - beginY;
    -}
    - - diff --git a/examples/topics/multipleparticlesystems.html b/examples/topics/multipleparticlesystems.html deleted file mode 100644 index 113cbef98..000000000 --- a/examples/topics/multipleparticlesystems.html +++ /dev/null @@ -1,666 +0,0 @@ - - - - - -

    Processing.js

    -

    MultipleParticleSystems

    - -

    by Daniel Shiffman. - -Click the mouse to generate a burst of particles -at mouse location. - -Each burst is one instance of a particle system -with Particles and CrazyParticles (a subclass of Particle) -Note use of Inheritance and Polymorphism here.

    - -

    Original Processing.org Example: MultipleParticleSystems
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -ArrayList psystems;
    -
    -void setup() {
    -  size(200,200);
    -  frameRate(30);
    -  colorMode(RGB,255,255,255,100);
    -  psystems = new ArrayList();
    -  smooth();
    -}
    -
    -void draw() {
    -  background(0);
    -
    -  // Cycle through all particle systems, run them and delete old ones
    -  for (int i = psystems.size()-1; i >= 0; i--) {
    -    ParticleSystem psys = (ParticleSystem) psystems.get(i);
    -    psys.run();
    -    if (psys.dead()) {
    -      psystems.remove(i);
    -    }
    -  }
    -
    -}
    -
    -// When the mouse is pressed, add a new particle system
    -void mousePressed() {
    -  psystems.add(new ParticleSystem(int(random(5,25)),new Vector3D(mouseX,mouseY)));
    -}
    -
    -
    -// A subclass of Particle
    -
    -// Created 2 May 2005
    -
    -class CrazyParticle extends Particle {
    -
    -  // Just adding one new variable to a CrazyParticle
    -  // It inherits all other fields from "Particle", and we don't have to retype them!
    -  float theta;
    -
    -  // The CrazyParticle constructor can call the parent class (super class) constructor
    -  CrazyParticle(Vector3D l) {
    -    // "super" means do everything from the constructor in Particle
    -    super(l);
    -    // One more line of code to deal with the new variable, theta
    -    theta = 0.0;
    -
    -  }
    -
    -  // Notice we don't have the method run() here; it is inherited from Particle
    -
    -  // This update() method overrides the parent class update() method
    -  void update() {
    -    super.update();
    -    // Increment rotation based on horizontal velocity
    -    float theta_vel = (vel.x * vel.magnitude()) / 10.0f;
    -    theta += theta_vel;
    -  }
    -
    -  // Override timer
    -  void timer() {
    -    timer -= 0.5;
    -  }
    -  
    -  // Method to display
    -  void render() {
    -    // Render the ellipse just like in a regular particle
    -    super.render();
    -
    -    // Then add a rotating line
    -    pushMatrix();
    -    translate(loc.x,loc.y);
    -    rotate(theta);
    -    stroke(255,timer);
    -    line(0,0,25,0);
    -    popMatrix();
    -  }
    -}
    -
    -
    -
    -
    -
    -// A simple Particle class
    -
    -class Particle {
    -  Vector3D loc;
    -  Vector3D vel;
    -  Vector3D acc;
    -  float r;
    -  float timer;
    -
    -  // One constructor
    -  Particle(Vector3D a, Vector3D v, Vector3D l, float r_) {
    -    acc = a.copy();
    -    vel = v.copy();
    -    loc = l.copy();
    -    r = r_;
    -    timer = 100.0;
    -  }
    -  
    -  // Another constructor (the one we are using here)
    -  Particle(Vector3D l) {
    -    acc = new Vector3D(0,0.05,0);
    -    vel = new Vector3D(random(-1,1),random(-2,0),0);
    -    loc = l.copy();
    -    r = 10.0;
    -    timer = 100.0;
    -  }
    -
    -
    -  void run() {
    -    update();
    -    render();
    -  }
    -
    -  // Method to update location
    -  void update() {
    -    vel.add(acc);
    -    loc.add(vel);
    -    timer -= 1.0;
    -  }
    -
    -  // Method to display
    -  void render() {
    -    ellipseMode(CENTER);
    -    noStroke();
    -    fill(255,timer);
    -    ellipse(loc.x,loc.y,r,r);
    -  }
    -  
    -  // Is the particle still useful?
    -  boolean dead() {
    -    if (timer <= 0.0) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -}
    -
    -
    -// A class to describe a group of Particles
    -// An ArrayList is used to manage the list of Particles 
    -
    -class ParticleSystem {
    -
    -  ArrayList particles;    // An arraylist for all the particles
    -  Vector3D origin;        // An origin point for where particles are birthed
    -
    -  ParticleSystem(int num, Vector3D v) {
    -    particles = new ArrayList();              // Initialize the arraylist
    -    origin = v.copy();                        // Store the origin point
    -    for (int i = 0; i < num; i++) {
    -      particles.add(new CrazyParticle(origin));    // Add "num" amount of particles to the arraylist
    -    }
    -  }
    -
    -  void run() {
    -    // Cycle through the ArrayList backwards b/c we are deleting
    -    for (int i = particles.size()-1; i >= 0; i--) {
    -      Particle p = (Particle) particles.get(i);
    -      p.run();
    -      if (p.dead()) {
    -        particles.remove(i);
    -      }
    -    }
    -  }
    -
    -  void addParticle() {
    -    particles.add(new Particle(origin));
    -  }
    -
    -  void addParticle(Particle p) {
    -    particles.add(p);
    -  }
    -
    -  // A method to test if the particle system still has particles
    -  boolean dead() {
    -    if (particles.isEmpty()) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -
    -}
    -
    -
    -
    -// Simple Vector3D Class 
    -
    -public class Vector3D {
    -  public float x;
    -  public float y;
    -  public float z;
    -
    -  Vector3D(float x_, float y_, float z_) {
    -    x = x_; y = y_; z = z_;
    -  }
    -
    -  Vector3D(float x_, float y_) {
    -    x = x_; y = y_; z = 0f;
    -  }
    -  
    -  Vector3D() {
    -    x = 0f; y = 0f; z = 0f;
    -  }
    -
    -  void setX(float x_) {
    -    x = x_;
    -  }
    -
    -  void setY(float y_) {
    -    y = y_;
    -  }
    -
    -  void setZ(float z_) {
    -    z = z_;
    -  }
    -  
    -  void setXY(float x_, float y_) {
    -    x = x_;
    -    y = y_;
    -  }
    -  
    -  void setXYZ(float x_, float y_, float z_) {
    -    x = x_;
    -    y = y_;
    -    z = z_;
    -  }
    -
    -  void setXYZ(Vector3D v) {
    -    x = v.x;
    -    y = v.y;
    -    z = v.z;
    -  }
    -  public float magnitude() {
    -    return (float) Math.sqrt(x*x + y*y + z*z);
    -  }
    -
    -  public Vector3D copy() {
    -    return new Vector3D(x,y,z);
    -  }
    -
    -  public Vector3D copy(Vector3D v) {
    -    return new Vector3D(v.x, v.y,v.z);
    -  }
    -  
    -  public void add(Vector3D v) {
    -    x += v.x;
    -    y += v.y;
    -    z += v.z;
    -  }
    -
    -  public void sub(Vector3D v) {
    -    x -= v.x;
    -    y -= v.y;
    -    z -= v.z;
    -  }
    -
    -  public void mult(float n) {
    -    x *= n;
    -    y *= n;
    -    z *= n;
    -  }
    -
    -  public void div(float n) {
    -    x /= n;
    -    y /= n;
    -    z /= n;
    -  }
    -
    -  public void normalize() {
    -    float m = magnitude();
    -    if (m > 0) {
    -       div(m);
    -    }
    -  }
    -
    -  public void limit(float max) {
    -    if (magnitude() > max) {
    -      normalize();
    -      mult(max);
    -    }
    -  }
    -
    -  public float heading2D() {
    -    float angle = (float) Math.atan2(-y, x);
    -    return -1*angle;
    -  }
    -
    -  public Vector3D add(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x + v2.x,v1.y + v2.y, v1.z + v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D sub(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x - v2.x,v1.y - v2.y,v1.z - v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D div(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x/n,v1.y/n,v1.z/n);
    -    return v;
    -  }
    -
    -  public Vector3D mult(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x*n,v1.y*n,v1.z*n);
    -    return v;
    -  }
    -
    -  public float distance (Vector3D v1, Vector3D v2) {
    -    float dx = v1.x - v2.x;
    -    float dy = v1.y - v2.y;
    -    float dz = v1.z - v2.z;
    -    return (float) Math.sqrt(dx*dx + dy*dy + dz*dz);
    -  }
    -
    -}
    - - diff --git a/examples/topics/pattern.html b/examples/topics/pattern.html deleted file mode 100644 index f9c917bf3..000000000 --- a/examples/topics/pattern.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - -

    Processing.js

    -

    Pattern

    - -

    Move the cursor over the image to draw with a software tool -which responds to the speed of the mouse.

    - -

    Original Processing.org Example: Pattern
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -void setup()
    -{
    -  size(200, 200);
    -  background(102);
    -  smooth();
    -}
    -
    -void draw() 
    -{
    -  // Call the variableEllipse() method and send it the
    -  // parameters for the current mouse position
    -  // and the previous mouse position
    -  variableEllipse(mouseX, mouseY, pmouseX, pmouseY);
    -}
    -
    -
    -// The simple method variableEllipse() was created specifically 
    -// for this program. It calculates the speed of the mouse
    -// and draws a small ellipse if the mouse is moving slowly
    -// and draws a large ellipse if the mouse is moving quickly 
    -
    -void variableEllipse(int x, int y, int px, int py) 
    -{
    -  float speed = abs(x-px) + abs(y-py);
    -  stroke(speed);
    -  ellipse(x, y, speed, speed);
    -}
    - - diff --git a/examples/topics/penrosesnowflake.html b/examples/topics/penrosesnowflake.html deleted file mode 100644 index 7b10a426f..000000000 --- a/examples/topics/penrosesnowflake.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - -

    Processing.js

    -

    PenroseSnowflake

    - -

    - -

    Original Processing.org Example: PenroseSnowflake
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -/** 
    - * Penrose Snowflake L-System 
    - * by Geraldine Sarmiento (Interactive Telecommunications Program, NYU). 
    - * This code was based on Patrick Dwyer's L-System class. 
    - */
    -
    -PenroseSnowflakeLSystem ps;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  smooth();
    -  ps = new PenroseSnowflakeLSystem();
    -  ps.simulate(4);
    -}
    -
    -void draw() 
    -{
    -  background(0);
    -  ps.render();
    -}
    -
    -class LSystem 
    -{
    -  int steps = 0;
    -
    -  String axiom;
    -  String rule;
    -  String production;
    -
    -  float startLength;
    -  float drawLength;
    -  float theta;
    -
    -  int generations;
    -
    -  LSystem() {
    -    axiom = "F";
    -    rule = "F+F-F";
    -    startLength = 90.0;
    -    theta = radians(120.0);
    -    reset();
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -
    -  void render() {
    -    translate(width/2, height/2);
    -    steps += 5;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        rect(0, 0, -drawLength, -drawLength);
    -        noFill();
    -        translate(0, -drawLength);
    -      } 
    -      else if (step == '+') {
    -        rotate(theta);
    -      } 
    -      else if (step == '-') {
    -        rotate(-theta);
    -      } 
    -      else if (step == '[') {
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();            
    -      }
    -    }
    -  }
    -
    -  void simulate(int gen) {
    -    while (getAge() < gen) {
    -      production = iterate(production, rule);
    -    }
    -  }
    -
    -  String iterate(String prod_, String rule_) {
    -    drawLength = drawLength * 0.6;
    -    generations++;
    -    String newProduction = prod_;          
    -    newProduction = newProduction.replaceAll("F", rule_);
    -    return newProduction;
    -  }
    -}
    -
    -class PenroseSnowflakeLSystem extends LSystem {
    -
    -  String ruleF;
    -
    -  PenroseSnowflakeLSystem() {
    -    axiom = "F3-F3-F3-F3-F";
    -    ruleF = "F3-F3-F45-F++F3-F";
    -    startLength = 200.0f;
    -    theta = radians(18); 
    -    reset();
    -  }
    -
    -  void useRule(String r_) {
    -    rule = r_;
    -  }
    -
    -  void useAxiom(String a_) {
    -    axiom = a_;
    -  }
    -
    -  void useLength(float l_) {
    -    startLength = l_;
    -  }
    -
    -  void useTheta(float t_) {
    -    theta = radians(t_);
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -
    -  void render() {
    -    translate(width, height);
    -    int repeats = 1;
    -
    -    steps += 3;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        stroke(255);
    -        noFill();
    -        for (int j = 0; j < repeats; j++) {
    -          line(0,0,0, -drawLength);
    -          translate(0, -drawLength);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '+') {
    -        for (int j = 0; j < repeats; j++) {
    -          rotate(theta);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '-') {
    -        for (int j =0; j < repeats; j++) {
    -          rotate(-theta);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '[') {
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();
    -      } 
    -      else if ( (step >= 48) && (step <= 57) ) {
    -        repeats += (int)step - 48;
    -      }
    -    }
    -  }
    -
    -
    -  String iterate(String prod_, String rule_) {
    -    String newProduction = "";
    -    for (int i = 0; i < prod_.length(); i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        newProduction = newProduction + ruleF;
    -      } 
    -      else {
    -        if (step != 'F') {
    -          newProduction = newProduction + step;
    -        }
    -      }
    -    }
    -    drawLength = drawLength * 0.4;
    -    generations++;
    -    return newProduction;
    -  }
    -
    -}
    - - diff --git a/examples/topics/penrosetile.html b/examples/topics/penrosetile.html deleted file mode 100644 index e3420b3ad..000000000 --- a/examples/topics/penrosetile.html +++ /dev/null @@ -1,471 +0,0 @@ - - - - - -

    Processing.js

    -

    PenroseTile

    - -

    - -

    Original Processing.org Example: PenroseTile
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -/** 
    - * Penrose Tile L-System 
    - * by Geraldine Sarmiento (Interactive Telecommunications Program, NYU). 
    - * This code was based on Patrick Dwyer's L-System class. 
    - */
    -
    -PenroseLSystem ds;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  smooth();
    -  ds = new PenroseLSystem();
    -  ds.simulate(4);
    -}
    -
    -void draw() 
    -{
    -  background(0);
    -  ds.render();
    -}
    -
    -
    -class LSystem 
    -{
    -  int steps = 0;
    -
    -  String axiom;
    -  String rule;
    -  String production;
    -
    -  float startLength;
    -  float drawLength;
    -  float theta;
    -
    -  int generations;
    -
    -  LSystem() {
    -    axiom = "F";
    -    rule = "F+F-F";
    -    startLength = 90.0;
    -    theta = radians(120.0);
    -    reset();
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -
    -  void render() {
    -    translate(width/2, height/2);
    -    steps += 5;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        rect(0, 0, -drawLength, -drawLength);
    -        noFill();
    -        translate(0, -drawLength);
    -      } 
    -      else if (step == '+') {
    -        rotate(theta);
    -      } 
    -      else if (step == '-') {
    -        rotate(-theta);
    -      } 
    -      else if (step == '[') {
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();            
    -      }
    -    }
    -  }
    -
    -  void simulate(int gen) {
    -    while (getAge() < gen) {
    -      production = iterate(production, rule);
    -    }
    -  }
    -
    -  String iterate(String prod_, String rule_) {
    -    drawLength = drawLength * 0.6;
    -    generations++;
    -    String newProduction = prod_;          
    -    newProduction = newProduction.replaceAll("F", rule_);
    -    return newProduction;
    -  }
    -}
    -
    -
    -class PenroseLSystem extends LSystem {
    -
    -  int steps = 0;
    -  float somestep = 0.1;
    -  String ruleW;
    -  String ruleX;
    -  String ruleY;
    -  String ruleZ;
    -
    -  PenroseLSystem() {
    -    axiom = "[X]++[X]++[X]++[X]++[X]";
    -    ruleW = "YF++ZF4-XF[-YF4-WF]++";
    -    ruleX = "+YF--ZF[3-WF--XF]+";
    -    ruleY = "-WF++XF[+++YF++ZF]-";
    -    ruleZ = "--YF++++WF[+ZF++++XF]--XF";
    -    startLength = 200.0;
    -    theta = radians(36);  
    -    reset();
    -  }
    -
    -  void useRule(String r_) {
    -    rule = r_;
    -  }
    -
    -  void useAxiom(String a_) {
    -    axiom = a_;
    -  }
    -
    -  void useLength(float l_) {
    -    startLength = l_;
    -  }
    -
    -  void useTheta(float t_) {
    -    theta = radians(t_);
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -
    -  void render() {
    -    translate(width/2, height/2);
    -    int pushes = 0;
    -    int repeats = 1;
    -    steps += 12;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        stroke(255, 60);
    -        for (int j = 0; j < repeats; j++) {
    -          line(0,0,0, -drawLength);
    -          noFill();
    -          translate(0, -drawLength);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '+') {
    -        for (int j = 0; j < repeats; j++) {
    -          rotate(theta);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '-') {
    -        for (int j =0; j < repeats; j++) {
    -          rotate(-theta);
    -        }
    -        repeats = 1;
    -      } 
    -      else if (step == '[') {
    -        pushes++;            
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();
    -        pushes--;
    -      } 
    -      else if ( (step >= 48) && (step <= 57) ) {
    -        repeats = (int)step - 48;
    -      }
    -    }
    -
    -    // Unpush if we need too
    -    while (pushes > 0) {
    -      popMatrix();
    -      pushes--;
    -    }
    -  }
    -
    -  String iterate(String prod_, String rule_) {
    -    String newProduction = "";
    -    for (int i = 0; i < prod_.length(); i++) {
    -      char step = production.charAt(i);
    -      if (step == 'W') {
    -        newProduction = newProduction + ruleW;
    -      } 
    -      else if (step == 'X') {
    -        newProduction = newProduction + ruleX;
    -      }
    -      else if (step == 'Y') {
    -        newProduction = newProduction + ruleY;
    -      }  
    -      else if (step == 'Z') {
    -        newProduction = newProduction + ruleZ;
    -      } 
    -      else {
    -        if (step != 'F') {
    -          newProduction = newProduction + step;
    -        }
    -      }
    -    }
    -
    -    drawLength = drawLength * 0.5;
    -    generations++;
    -    return newProduction;
    -  }
    -
    -}
    - - diff --git a/examples/topics/pentigree.html b/examples/topics/pentigree.html deleted file mode 100644 index 25d055ed9..000000000 --- a/examples/topics/pentigree.html +++ /dev/null @@ -1,363 +0,0 @@ - - - - - -

    Processing.js

    -

    Pentigree

    - -

    - -

    Original Processing.org Example: Pentigree
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -/** 
    - * Pentigree L-System 
    - * by Geraldine Sarmiento (Interactive Telecommunications Program, NYU). 
    - * This code was based on Patrick Dwyer's L-System class. 
    - */
    -
    -PentigreeLSystem ps;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  frameRate(24);
    -  smooth();
    -  ps = new PentigreeLSystem();
    -  ps.simulate(3);
    -}
    -
    -void draw() 
    -{
    -  background(0);
    -  ps.render();
    -}
    -
    -
    -class LSystem {
    -
    -  int steps = 0;
    -
    -  String axiom;
    -  String rule;
    -  String production;
    -
    -  float startLength;
    -  float drawLength;
    -  float theta;
    -
    -  int generations;
    -
    -  LSystem() {
    -
    -    axiom = "F";
    -    rule = "F+F-F";
    -    startLength = 90.0f;
    -    theta = radians(120.0);
    -    reset();
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -  
    -  void render() {
    -    translate(width/2, height/2);
    -    steps += 5;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        rect(0, 0, -drawLength, -drawLength);
    -        noFill();
    -        translate(0, -drawLength);
    -      } 
    -      else if (step == '+') {
    -        rotate(theta);
    -      } 
    -      else if (step == '-') {
    -        rotate(-theta);
    -      } 
    -      else if (step == '[') {
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();            
    -      }
    -    }
    -  }
    -  
    -  void simulate(int gen) {
    -    while (getAge() < gen) {
    -      production = iterate(production, rule);
    -    }
    -  }
    -
    -  String iterate(String prod_, String rule_) {
    -    drawLength = drawLength * 0.6;
    -    generations++;
    -    String newProduction = prod_;          
    -    newProduction = newProduction.replaceAll("F", rule_);
    -    return newProduction;
    -  }
    -}
    -
    -
    -class PentigreeLSystem extends LSystem {
    -
    -  int steps = 0;
    -  float somestep = 0.1;
    -  float xoff = 0.01;
    -
    -  PentigreeLSystem() {
    -    axiom = "F-F-F-F-F";
    -    rule = "F-F++F+F-F-F";
    -    startLength = 40.0;
    -    theta = radians(72);  
    -    reset();
    -  }
    -
    -  void useRule(String r_) {
    -    rule = r_;
    -  }
    -
    -  void useAxiom(String a_) {
    -    axiom = a_;
    -  }
    -
    -  void useLength(float l_) {
    -    startLength = l_;
    -  }
    -
    -  void useTheta(float t_) {
    -    theta = radians(t_);
    -  }
    -
    -  void reset() {
    -    production = axiom;
    -    drawLength = startLength;
    -    generations = 0;
    -  }
    -
    -  int getAge() {
    -    return generations;
    -  }
    -
    -  void render() {
    -    translate(width/4, height/2);
    -    steps += 3;          
    -    if (steps > production.length()) {
    -      steps = production.length();
    -    }
    -
    -    for (int i = 0; i < steps; i++) {
    -      char step = production.charAt(i);
    -      if (step == 'F') {
    -        noFill();
    -        stroke(255);
    -        line(0, 0, 0, -drawLength);
    -        translate(0, -drawLength);
    -      } 
    -      else if (step == '+') {
    -        rotate(theta);
    -      } 
    -      else if (step == '-') {
    -        rotate(-theta);
    -      } 
    -      else if (step == '[') {
    -        pushMatrix();
    -      } 
    -      else if (step == ']') {
    -        popMatrix();
    -      }
    -    }
    -  }
    -
    -}
    - - diff --git a/examples/topics/pixelarray.html b/examples/topics/pixelarray.html deleted file mode 100644 index 8d1d7911c..000000000 --- a/examples/topics/pixelarray.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - -

    Processing.js

    -

    PixelArray

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    Click and drag the mouse up and down to control the signal and -press and hold any key to see the current pixel being read. -This program sequentially reads the color of every pixel of an image -and displays this color to fill the window.

    - -

    Original Processing.org Example: PixelArray
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -PImage a;
    -int[] aPixels;
    -int direction = 1;
    -boolean onetime = true;
    -float signal;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  aPixels = new int[width*height];
    -  noFill();
    -  stroke(255);
    -  frameRate(30);
    -  a = loadImage("data/ystone08.jpg", null, function(){
    -    for(int i=0; i
    -
    -
    diff --git a/examples/topics/puff.html b/examples/topics/puff.html
    deleted file mode 100644
    index 1c629c33c..000000000
    --- a/examples/topics/puff.html
    +++ /dev/null
    @@ -1,181 +0,0 @@
    -
    -
    -
    -  
    -
    -

    Processing.js

    -

    Puff

    - -

    by Ira Greenberg. - -Series of ellipses simulating a multi-segmented -organism, utilizing a follow the leader algorithm. -Collision detection occurs on the organism's head, -controlling overall direction, and on the individual -body segments, controlling body shape and jitter.

    - -

    Original Processing.org Example: Puff
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// for puff head
    -float headX;
    -float headY;
    -float speedX = .7;
    -float speedY = .9;
    -
    -// for puff body
    -int cells = 1000;
    -float[]px= new float[cells];
    -float[]py= new float[cells];
    -float[]radiiX = new float[cells];
    -float[]radiiY = new float[cells];
    -float[]angle = new float[cells];
    -float[]frequency = new float[cells];
    -float[]cellRadius = new float[cells];
    -
    -void setup(){
    -  
    -  size(200, 200);
    -  // begin in the center
    -  headX = width/2;
    -  headY = height/2;
    -
    -  //fill body arrays
    -  for (int i=0; i< cells; i++){
    -    radiiX[i] = random(-7, 7); 
    -    radiiY[i] = random(-4, 4);
    -    frequency[i]= random(-9, 9);
    -    cellRadius[i] = random(16, 30);
    -  }
    -  frameRate(30);
    -}
    -
    -void draw(){
    -  background(0);
    -  noStroke();
    -  fill(255, 255, 255, 5);
    -
    -  //follow the leader
    -  for (int i =0; i< cells; i++){
    -    if (i==0){
    -      px[i] = headX+sin(radians(angle[i]))*radiiX[i];
    -      py[i] = headY+cos(radians(angle[i]))*radiiY[i];
    -    } 
    -    else{
    -      px[i] = px[i-1]+cos(radians(angle[i]))*radiiX[i];
    -      py[i] = py[i-1]+sin(radians(angle[i]))*radiiY[i];
    -
    -      //check collision of body
    -      if (px[i] >= width-cellRadius[i]/2 || px[i] <= cellRadius[i]/2){
    -        radiiX[i]*=-1;
    -        cellRadius[i] = random(1, 40);
    -        frequency[i]= random(-13, 13);
    -      }
    -      if (py[i] >= height-cellRadius[i]/2 || py[i] <= cellRadius[i]/2){
    -        radiiY[i]*=-1;
    -        cellRadius[i] = random(1, 40);
    -        frequency[i]= random(-9, 9);
    -      }
    -    }
    -    // draw puff
    -    ellipse(px[i],  py[i],  cellRadius[i],  cellRadius[i]);
    -    // set speed of body
    -    angle[i]+=frequency[i];
    -  }
    -
    -  // set velocity of head
    -  headX+=speedX;
    -  headY+=speedY;
    -
    -  //check boundary collision of head
    -  if (headX >= width-cellRadius[0]/2 || headX <=cellRadius[0]/2){
    -    speedX*=-1;
    -  }
    -  if (headY >= height-cellRadius[0]/2 || headY <= cellRadius[0]/2){
    -    speedY*=-1;
    -  }
    -}
    - - diff --git a/examples/topics/pulses.html b/examples/topics/pulses.html deleted file mode 100644 index 562ebc25e..000000000 --- a/examples/topics/pulses.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - -

    Processing.js

    -

    Pulses

    - -

    Software drawing instruments can follow a rhythm or abide by rules independent -of drawn gestures. This is a form of collaborative drawing in which the draftsperson -controls some aspects of the image and the software controls others.

    - -

    Original Processing.org Example: Pulses
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int angle = 0;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  background(102);
    -  smooth();
    -  noStroke();
    -  fill(0, 102);
    -}
    -
    -void draw() 
    -{
    -  // Draw only when mouse is pressed
    -  if (mousePressed == true) {
    -    angle += 10;
    -    float val = cos(radians(angle)) * 6.0;
    -    for (int a = 0; a < 360; a += 75) {
    -      float xoff = cos(radians(a)) * val;
    -      float yoff = sin(radians(a)) * val;
    -      fill(0);
    -      ellipse(mouseX + xoff, mouseY + yoff, val/2, val/2);
    -    }
    -    fill(255);
    -    ellipse(mouseX, mouseY, 2, 2);
    -  }
    -}
    - - diff --git a/examples/topics/reach1.html b/examples/topics/reach1.html deleted file mode 100644 index 647a69793..000000000 --- a/examples/topics/reach1.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - -

    Processing.js

    -

    Reach1

    - -

    Based on code from Keith Peters (www.bit-101.com) - -The arm follows the position of the mouse by -calculating the angles with atan2().

    - -

    Original Processing.org Example: Reach1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float x = 100;
    -float y = 100;
    -float x2 = 100;
    -float y2 = 100;
    -float segLength = 30;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(20.0);
    -  stroke(0, 100);
    -}
    -
    -void draw() {
    -  background(226);
    -  
    -  float dx = mouseX - x;
    -  float dy = mouseY - y;
    -  float angle1 = atan2(dy, dx);  
    -  
    -  float tx = mouseX - cos(angle1) * segLength;
    -  float ty = mouseY - sin(angle1) * segLength;
    -  dx = tx - x2;
    -  dy = ty - y2;
    -  float angle2 = atan2(dy, dx);  
    -  x = x2 + cos(angle2) * segLength;
    -  y = y2 + sin(angle2) * segLength;
    -  
    -  segment(x, y, angle1); 
    -  segment(x2, y2, angle2); 
    -}
    -
    -void segment(float x, float y, float a) {
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/reach2.html b/examples/topics/reach2.html deleted file mode 100644 index ccc6f82db..000000000 --- a/examples/topics/reach2.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - -

    Processing.js

    -

    Reach2

    - -

    Based on code from Keith Peters (www.bit-101.com) - -The arm follows the position of the mouse by -calculating the angles with atan2().

    - -

    Original Processing.org Example: Reach2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int numSegments = 10;
    -float[] x = new float[numSegments];
    -float[] y = new float[numSegments];
    -float[] angle = new float[numSegments];
    -float segLength = 20;
    -float targetX, targetY;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(20.0);
    -  stroke(0, 100);
    -  x[x.length-1] = 0;     // Set base x-coordinate
    -  y[x.length-1] = height;  // Set base y-coordinate
    -}
    -
    -void draw() {
    -  background(226);
    -  
    -  reachSegment(0, mouseX, mouseY);
    -  for(int i=1; i<numSegments; i++) {
    -    reachSegment(i, targetX, targetY);
    -  }
    -  for(int i=x.length-1; i>=1; i--) {
    -    positionSegment(i, i-1);  
    -  } 
    -  for(int i=0; i<x.length; i++) {
    -    segment(x[i], y[i], angle[i], (i+1)*2); 
    -  }
    -}
    -
    -void positionSegment(int a, int b) {
    -  x[b] = x[a] + cos(angle[a]) * segLength;
    -  y[b] = y[a] + sin(angle[a]) * segLength; 
    -}
    -
    -void reachSegment(int i, float xin, float yin) {
    -  float dx = xin - x[i];
    -  float dy = yin - y[i];
    -  angle[i] = atan2(dy, dx);  
    -  targetX = xin - cos(angle[i]) * segLength;
    -  targetY = yin - sin(angle[i]) * segLength;
    -}
    -
    -void segment(float x, float y, float a, float sw) {
    -  strokeWeight(sw);
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/reach3.html b/examples/topics/reach3.html deleted file mode 100644 index 9f0e2d423..000000000 --- a/examples/topics/reach3.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - -

    Processing.js

    -

    Reach3

    - -

    Based on code from Keith Peters (www.bit-101.com) - -The arm follows the position of the ball by -calculating the angles with atan2().

    - -

    Original Processing.org Example: Reach3
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int numSegments = 6;
    -float[] x = new float[numSegments];
    -float[] y = new float[numSegments];
    -float[] angle = new float[numSegments];
    -float segLength = 15;
    -float targetX, targetY;
    -
    -float ballX = 50;
    -float ballY = 50;
    -int ballXDirection = 1;
    -int ballYDirection = -1;
    -
    -void setup() {
    -  size(200, 200);
    -  smooth(); 
    -  strokeWeight(20.0);
    -  stroke(0, 100);
    -  noFill();
    -  x[x.length-1] = width/2;     // Set base x-coordinate
    -  y[x.length-1] = height;  // Set base y-coordinate
    -}
    -
    -void draw() {
    -  background(226);
    -  
    -  strokeWeight(20);
    -  ballX = ballX + 1.0 * ballXDirection;
    -  ballY = ballY + 0.8 * ballYDirection;
    -  if(ballX > width-25 || ballX < 25) {
    -    ballXDirection *= -1; 
    -  }
    -  if(ballY > height-25 || ballY < 25) {
    -    ballYDirection *= -1; 
    -  }
    -  ellipse(ballX, ballY, 30, 30);
    -  
    -  reachSegment(0, ballX, ballY);
    -  for(int i=1; i<numSegments; i++) {
    -    reachSegment(i, targetX, targetY);
    -  }
    -  for(int i=x.length-1; i>=1; i--) {
    -    positionSegment(i, i-1);  
    -  } 
    -  for(int i=0; i<x.length; i++) {
    -    segment(x[i], y[i], angle[i], (i+1)*2); 
    -  }
    -}
    -
    -void positionSegment(int a, int b) {
    -  x[b] = x[a] + cos(angle[a]) * segLength;
    -  y[b] = y[a] + sin(angle[a]) * segLength; 
    -}
    -
    -void reachSegment(int i, float xin, float yin) {
    -  float dx = xin - x[i];
    -  float dy = yin - y[i];
    -  angle[i] = atan2(dy, dx);  
    -  targetX = xin - cos(angle[i]) * segLength;
    -  targetY = yin - sin(angle[i]) * segLength;
    -}
    -
    -void segment(float x, float y, float a, float sw) {
    -  strokeWeight(sw);
    -  pushMatrix();
    -  translate(x, y);
    -  rotate(a);
    -  line(0, 0, segLength, 0);
    -  popMatrix();
    -}
    - - diff --git a/examples/topics/reflection1.html b/examples/topics/reflection1.html deleted file mode 100644 index 94ff42add..000000000 --- a/examples/topics/reflection1.html +++ /dev/null @@ -1,261 +0,0 @@ - - - - - -

    Processing.js

    -

    Reflection1

    - -

    by Ira Greenberg. - -Based on the equation (R = 2N(N*L)-L) where R is the -reflection vector, N is the normal, and L is the incident -vector.

    - -

    Original Processing.org Example: Reflection1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    - float baseX1, baseY1, baseX2, baseY2;
    -float baseLength;
    -float[] xCoords, yCoords;
    -float ellipseX, ellipseY, ellipseRadius = 6;
    -float directionX, directionY;
    -float ellipseSpeed = 3.5;
    -float velocityX, velocityY; 
    -
    -void setup(){
    -  size(200, 200);
    -  frameRate(30);
    -  fill(128);
    -  smooth();
    -  baseX1 = 0;
    -  baseY1 = height-150;
    -  baseX2 = width;
    -  baseY2 = height;
    -
    -  // start ellipse at middle top of screen
    -  ellipseX = width/2;
    -  
    -  // calculate initial random direction
    -  directionX = random(0.1, 0.99);
    -  directionY = random(0.1, 0.99);
    -
    -  // normalize direction vector
    -  float directionVectLength = sqrt(directionX*directionX + 
    -            directionY*directionY);
    -  directionX /= directionVectLength;
    -  directionY /= directionVectLength;
    -}
    -
    -void draw(){
    -  // draw background
    -  fill(0, 12);
    -  noStroke();
    -  rect(0, 0, width, height);
    -
    -  // calculate length of base top
    -  baseLength = dist(baseX1, baseY1, baseX2, baseY2);
    -  xCoords = new float[ceil(baseLength)];
    -  yCoords = new float[ceil(baseLength)];
    -
    -  // fill base top coordinate array
    -  for (int i=0; i<xCoords.length; i++){
    -    xCoords[i] = baseX1 + ((baseX2-baseX1)/baseLength)*i;
    -    yCoords[i] = baseY1 + ((baseY2-baseY1)/baseLength)*i;
    -  }
    -
    -  // draw base
    -  fill(200);
    -  quad(baseX1, baseY1, baseX2, baseY2, baseX2, height, 0, height);
    -
    -  // calculate base top normal
    -  float baseDeltaX = (baseX2-baseX1)/baseLength;
    -  float baseDeltaY = (baseY2-baseY1)/baseLength;
    -  float normalX = -baseDeltaY;
    -  float normalY = baseDeltaX;
    -
    -  // draw ellipse
    -  noFill();
    -  stroke(200);
    -  ellipse(ellipseX, ellipseY, ellipseRadius*2, ellipseRadius*2);
    -
    -  // calculate ellipse velocity
    -  velocityX = directionX * ellipseSpeed;
    -  velocityY = directionY * ellipseSpeed;
    -
    -  // move elipse
    -  ellipseX += velocityX;
    -  ellipseY += velocityY;
    -
    -  // normalized incidence vector
    -  float incidenceVectorX = -directionX;
    -  float incidenceVectorY = -directionY;
    -
    -  // detect and handle collision
    -  for (int i=0; i<xCoords.length; i++){
    -    // check distance between ellipse and base top coordinates
    -    if (dist(ellipseX, ellipseY, xCoords[i], yCoords[i]) < ellipseRadius){
    -
    -      // calculate dot product of incident vector and base top normal 
    -      float dot = incidenceVectorX*normalX + incidenceVectorY*normalY;
    -
    -      // calculate reflection vector
    -      float reflectionVectorX = 2*normalX*dot - incidenceVectorX;
    -      float reflectionVectorY = 2*normalY*dot - incidenceVectorY;
    -
    -      // assign reflection vector to direction vector
    -      directionX = reflectionVectorX;
    -      directionY = reflectionVectorY;
    -
    -      // draw base top normal at collision point
    -      stroke(255, 128, 0);
    -      line(ellipseX, ellipseY, ellipseX-normalX*100, 
    -            ellipseY-normalY*100);
    -    }
    -  }
    -
    -  // detect boundary collision
    -  // right
    -  if (ellipseX > width-ellipseRadius){
    -    ellipseX = width-ellipseRadius;
    -    directionX *= -1;
    -  }
    -  // left 
    -  if (ellipseX < ellipseRadius){
    -    ellipseX = ellipseRadius;
    -    directionX *= -1;
    -  }
    -  // top
    -  if (ellipseY < ellipseRadius){
    -    ellipseY = ellipseRadius;
    -    directionY *= -1;
    -    // randomize base top
    -    baseY1 = random(height-100, height);
    -    baseY2 = random(height-100, height);
    -  }
    -}
    - - diff --git a/examples/topics/reflection2.html b/examples/topics/reflection2.html deleted file mode 100644 index e65987670..000000000 --- a/examples/topics/reflection2.html +++ /dev/null @@ -1,355 +0,0 @@ - - - - - -

    Processing.js

    -

    Reflection2

    - -

    by Ira Greenberg. - -Based on Keith Peter's Solution in -Foundation Actionscript Animation: Making Things Move! -http://www.friendsofed.com/book.html?isbn=1590597915

    - -

    Original Processing.org Example: Reflection2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -Orb orb;
    -Vect2D velocity;
    -float gravity = .05, damping = 0.8;
    -int segments = 40;
    -Ground[] ground = new Ground[segments];
    -float[] peakHeights = new float[segments+1];
    -
    -void setup(){
    -  size(200, 200);
    -  smooth();
    -  orb = new Orb(50, 50, 3);
    -  velocity = new Vect2D(.5, 0);
    -
    -  // calculate ground peak heights 
    -  for (int i=0; i<peakHeights.length; i++){
    -    peakHeights[i] = random(height-40, height-30);
    -  }
    -
    -  /* float value required for segment width (segs)
    -   calculations so the ground spans the entire 
    -   display window, regardless of segment number. */
    -  float segs = segments;
    -  for (int i=0; i<segments; i++){
    -    ground[i]  = new Ground(width/segs*i, peakHeights[i],
    -    width/segs*(i+1), peakHeights[i+1]);
    -  }
    -}
    -
    -
    -void draw(){
    -  // background
    -  noStroke();
    -  fill(0, 15);
    -  rect(0, 0, width, height);
    -
    -  // move orb
    -  orb.x += velocity.vx;
    -  velocity.vy += gravity;
    -  orb.y += velocity.vy;
    -
    -  // draw ground
    -  fill(127);
    -  beginShape();
    -  for (int i=0; i<segments; i++){
    -    vertex(ground[i].x1, ground[i].y1);
    -    vertex(ground[i].x2, ground[i].y2);
    -  }
    -  vertex(ground[segments-1].x2, height);
    -  vertex(ground[0].x1, height);
    -  endShape(CLOSE);
    -
    -  // draw orb
    -  noStroke();
    -  fill(200);
    -  ellipse(orb.x, orb.y, orb.r*2, orb.r*2);
    -
    -  // collision detection
    -  checkWallCollision();
    -  for (int i=0; i<segments; i++){
    -    checkGroundCollision(ground[i]);
    -  }
    -}
    -
    -
    -void checkWallCollision(){
    -  if (orb.x > width-orb.r){
    -    orb.x = width-orb.r;
    -    velocity.vx *= -1;
    -    velocity.vx *= damping;
    -  } 
    -  else if (orb.x < orb.r){
    -    orb.x = orb.r;
    -    velocity.vx *= -1;
    -    velocity.vx *= damping;
    -  }
    -}
    -
    -
    -void checkGroundCollision(Ground groundSegment) {
    -
    -  // get difference between orb and ground
    -  float deltaX = orb.x - groundSegment.x;
    -  float deltaY = orb.y - groundSegment.y;
    -
    -  // precalculate trig values
    -  float cosine = cos(groundSegment.rot);
    -  float sine = sin(groundSegment.rot);
    -
    -  /* rotate ground and velocity to allow 
    -   orthogonal collision calculations */
    -  float groundXTemp = cosine * deltaX + sine * deltaY;
    -  float groundYTemp = cosine * deltaY - sine * deltaX;
    -  float velocityXTemp = cosine * velocity.vx + sine * velocity.vy;
    -  float velocityYTemp = cosine * velocity.vy - sine * velocity.vx;
    -
    -  /* ground collision - check for surface 
    -   collision and also that orb is within 
    -   left/rights bounds of ground segment */
    -  if (groundYTemp > -orb.r &&
    -    orb.x > groundSegment.x1 &&
    -    orb.x < groundSegment.x2 ){
    -    // keep orb from going into ground
    -    groundYTemp = -orb.r;
    -    // bounce and slow down orb
    -    velocityYTemp *= -1.0;
    -    velocityYTemp *= damping;
    -  }
    -
    -  // reset ground, velocity and orb
    -  deltaX = cosine * groundXTemp - sine * groundYTemp;
    -  deltaY = cosine * groundYTemp + sine * groundXTemp;
    -  velocity.vx = cosine * velocityXTemp - sine * velocityYTemp;
    -  velocity.vy = cosine * velocityYTemp + sine * velocityXTemp;
    -  orb.x = groundSegment.x + deltaX;
    -  orb.y = groundSegment.y + deltaY;
    -}
    -
    -
    -class Ground {
    -  float x1, y1, x2, y2;  
    -  float x, y, len, rot;
    -
    -  // default constructor
    -  Ground(){
    -  }
    -
    -  // constructor
    -  Ground(float x1, float y1, float x2, float y2) {
    -    this.x1 = x1;
    -    this.y1 = y1;
    -    this.x2 = x2;
    -    this.y2 = y2;
    -    x = (x1+x2)/2;
    -    y = (y1+y2)/2;
    -    len = dist(x1, y1, x2, y2);
    -    rot = atan2((y2-y1), (x2-x1));
    -  }
    -}
    -
    -
    -class Orb{
    -  float x, y, r;
    -
    -  // default constructor
    -  Orb() {
    -  }
    -
    -  Orb(float x, float y, float r) {
    -    this.x = x;
    -    this.y = y;
    -    this.r = r;
    -  }
    -}
    -
    -class Vect2D{
    -  float vx, vy;
    -
    -  // default constructor
    -  Vect2D() {
    -  }
    -
    -  Vect2D(float vx, float vy) {
    -    this.vx = vx;
    -    this.vy = vy;
    -  }
    -}
    - - diff --git a/examples/topics/rollover.html b/examples/topics/rollover.html deleted file mode 100644 index bef3013af..000000000 --- a/examples/topics/rollover.html +++ /dev/null @@ -1,182 +0,0 @@ - - - - - -

    Processing.js

    -

    Rollover

    - -

    Roll over the colored squares in the center of the image -to change the color of the outside rectangle. - -Updated 09 February 2003.

    - -

    Original Processing.org Example: Rollover
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int rectX, rectY;      // Position of square button
    -int circleX, circleY;  // Position of circle button
    -int rectSize = 50;     // Diameter of rect
    -int circleSize = 53;   // Diameter of circle
    -
    -color rectColor;
    -color circleColor;
    -color baseColor;
    -
    -boolean rectOver = false;
    -boolean circleOver = false;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  smooth();
    -  rectColor = color(0);
    -  circleColor = color(255);
    -  baseColor = color(102);
    -  circleX = width/2+circleSize/2+10;
    -  circleY = height/2;
    -  rectX = width/2-rectSize-10;
    -  rectY = height/2-rectSize/2;
    -  ellipseMode(CENTER);
    -}
    -
    -void draw()
    -{
    -  update(mouseX, mouseY);
    -
    -  noStroke();
    -  if (rectOver) {
    -    background(rectColor);
    -  } else if (circleOver) {
    -    background(circleColor);
    -  } else {
    -    background(baseColor);
    -  }
    -
    -  stroke(255);
    -  fill(rectColor);
    -  rect(rectX, rectY, rectSize, rectSize);
    -  stroke(0);
    -  fill(circleColor);
    -  ellipse(circleX, circleY, circleSize, circleSize);
    -}
    -
    -void update(int x, int y)
    -{
    -  if( overCircle(circleX, circleY, circleSize) ) {
    -    circleOver = true;
    -    rectOver = false;
    -  } else if ( overRect(rectX, rectY, rectSize, rectSize) ) {
    -    rectOver = true;
    -    circleOver = false;
    -  } else {
    -    circleOver = rectOver = false;
    -  }
    -}
    -
    -boolean overRect(int x, int y, int width, int height) 
    -{
    -  if (mouseX >= x && mouseX <= x+width && 
    -      mouseY >= y && mouseY <= y+height) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    -
    -boolean overCircle(int x, int y, int diameter) 
    -{
    -  float disX = x - mouseX;
    -  float disY = y - mouseY;
    -  if(sqrt(sq(disX) + sq(disY)) < diameter/2 ) {
    -    return true;
    -  } else {
    -    return false;
    -  }
    -}
    - - diff --git a/examples/topics/savefile1.html b/examples/topics/savefile1.html deleted file mode 100644 index 2cc8f18ba..000000000 --- a/examples/topics/savefile1.html +++ /dev/null @@ -1,99 +0,0 @@ - - - - - -

    Processing.js

    -

    SaveFile1

    - -

    Saving files is a useful way to store data so it can be viewed after a -program has stopped running. The saveStrings() function writes an array -of strings to a file, with each string written to a new line. This file -is saved to the sketchs folder. This example won't work in a web browser -because of Java security restrictions.

    - -

    Original Processing.org Example: SaveFile1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int[] x = new int[0];
    -int[] y = new int[0];
    -
    -void setup() 
    -{
    -  size(200, 200);
    -}
    -
    -void draw() 
    -{
    -  background(204);
    -  stroke(0);
    -  noFill();
    -  beginShape();
    -  for (int i = 0; i < x.length; i++) {
    -    vertex(x[i], y[i]);
    -  }
    -  endShape();
    -  // Show the next segment to be added
    -  if (x.length >= 1) {
    -    stroke(255);
    -    line(mouseX, mouseY, x[x.length-1], y[x.length-1]);
    -  }
    -}
    -
    -void mousePressed() { // Click to add a line segment
    -  x = append(x, mouseX);
    -  y = append(y, mouseY);
    -}
    -
    -void keyPressed() { // Press a key to save the data
    -  String[] lines = new String[x.length];
    -  for (int i = 0; i < x.length; i++) {
    -    lines[i] = x[i] + "\t" + y[i];
    -  }
    -  saveStrings("lines.txt", lines);
    -  exit(); // Stop the program
    -}
    - - diff --git a/examples/topics/savefile2.html b/examples/topics/savefile2.html deleted file mode 100644 index 63c836ae6..000000000 --- a/examples/topics/savefile2.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - -

    Processing.js

    -

    SaveFile2

    - -

    This file a PrintWriter object to write data continuously to a file -while the mouse is pressed. When a key is pressed, the file closes -itself and the program is stopped. This example won't work in a web browser -because of Java security restrictions.

    - -

    Original Processing.org Example: SaveFile2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -PrintWriter output;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  // Create a new file in the sketch directory
    -  output = createWriter("positions.txt");
    -  frameRate(12);
    -}
    -
    -void draw() 
    -{
    -  if (mousePressed) {
    -    point(mouseX, mouseY);
    -    // Write the coordinate to a file with a
    -    // "\t" (TAB character) between each entry
    -    output.println(mouseX + "\t" + mouseY);
    -  }
    -}
    -
    -void keyPressed() { // Press a key to save the data
    -  output.flush(); // Write the remaining data
    -  output.close(); // Finish the file
    -  exit(); // Stop the program
    -}
    - - diff --git a/examples/topics/savemanyimages.html b/examples/topics/savemanyimages.html deleted file mode 100644 index 0dcac07b4..000000000 --- a/examples/topics/savemanyimages.html +++ /dev/null @@ -1,60 +0,0 @@ - - - - - -

    Processing.js

    -

    SaveManyImages

    - -

    The saveFrame() function allows you to save images from -a program while it is running. This example saves the first -50 frames of a program. These images can be imported into -animation software or QuickTime and then saved as a movie.

    - -

    Original Processing.org Example: SaveManyImages
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float x = 33;
    -float numFrames = 50;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  smooth();
    -  noStroke();
    -}
    -
    -void draw() 
    -{
    -  background(0);
    -  x += random(-2, 2);
    -  ellipse(x, 100, 80, 80);
    -  if (frameCount <= numFrames) {
    -    saveFrame("circles-####.tif");
    -  }
    -}
    - - diff --git a/examples/topics/saveoneimage.html b/examples/topics/saveoneimage.html deleted file mode 100644 index e282123ef..000000000 --- a/examples/topics/saveoneimage.html +++ /dev/null @@ -1,54 +0,0 @@ - - - - - -

    Processing.js

    -

    SaveOneImage

    - -

    The save() function allows you to save an image from the -display window. In this example, save() is run when a mouse -button is pressed. The image "line.tif" is saved to the -same folder as the sketch's program file.

    - -

    Original Processing.org Example: SaveOneImage
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -void setup() 
    -{
    -  size(100, 100);
    -}
    -
    -void draw() 
    -{
    -  background(204);
    -  line(0, 0, mouseX, height);
    -  line(width, 0, 0, mouseY);
    -}
    -
    -void mousePressed() 
    -{
    -  save("line.tif");
    -}
    - - diff --git a/examples/topics/scribbleplotter.html b/examples/topics/scribbleplotter.html deleted file mode 100644 index 65d5bb380..000000000 --- a/examples/topics/scribbleplotter.html +++ /dev/null @@ -1,188 +0,0 @@ - - - - - -

    Processing.js

    -

    ScribblePlotter

    - -

    by Ira Greenberg. - -Using 2-dimensional arrays, record end points -and replot scribbles between points.

    - -

    Original Processing.org Example: ScribblePlotter
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// some scribble style constants that control 
    -// how the scribble plotting works
    -int SCRIBBLE = 0;
    -int HATCHING = 1;
    -
    -void setup(){
    -  size(200, 200);
    -  background(0);
    -
    -  // create arrays to hold x, y coords
    -  float[]x = new float[4];
    -  float[]y  = new float[4];
    -  // create a convenient 2-dimensional 
    -  // array to hold x, y arrays
    -  float[][]xy = {x, y};
    -
    -  // record points
    -  // x positions     
    -  xy[0][0] = 25;
    -  xy[0][1] = 175;
    -  xy[0][2] = 175;
    -  xy[0][3] = 25;
    -
    -  // y positions
    -  xy[1][0] = 25;
    -  xy[1][1] = 25;
    -  xy[1][2] = 175;
    -  xy[1][3] = 175;
    -
    -  // call plotting function
    -  makeRect(xy);
    -}
    -
    -void makeRect(float[][]pts){
    -  stroke(255);
    -  smooth();
    -  
    -  // scribble variables, that get passed as arguments to the scribble function
    -  int steps = 100;
    -  float scribVal = 3.0;
    -  for (int i=0; i< pts[0].length; i++){
    -    //plots vertices
    -    strokeWeight(5);
    -    point(pts[0][i], pts[1][i]);
    -
    -    // call scribble function
    -    strokeWeight(.5);
    -    if (i>0){ 
    -      scribble(pts[0][i], pts[1][i], pts[0][i-1], pts[1][i-1], steps, scribVal, SCRIBBLE);
    -    } 
    -    if (i== pts[0].length-1){
    -    // show some hatching between last 2 points
    -      scribble(pts[0][i], pts[1][i], pts[0][0], pts[1][0], steps, scribVal*2, HATCHING);
    -    }
    -  }
    -}
    -
    -/* 
    -scribble function plots lines between end points, 
    -determined by steps and scribVal arguments.
    -2 styles are available: SCRIBBLE and HATCHING, which
    -are interestingly only dependent on parentheses
    -placement in the line() function calls.
    -*/
    -void scribble(float x1, float y1, float x2, float y2, int steps, float scribVal, int style){
    -
    -  float xStep = (x2-x1)/steps;
    -  float yStep = (y2-y1)/steps;
    -  for (int i = 0; i<steps; i++){
    -    if(style == SCRIBBLE){
    -      if (i<steps-1){
    -        line(x1, y1, x1+=xStep+random(-scribVal, scribVal), y1+=yStep+random(-scribVal, scribVal));
    -      } 
    -      else {
    -        // extra line needed to attach line back to point- not necessary in HATCHING style
    -        line(x1, y1, x2, y2);
    -      }
    -    }
    -    else if (style == HATCHING){
    -       line(x1, y1, (x1+=xStep)+random(-scribVal, scribVal), (y1+=yStep)+random(-scribVal, scribVal));
    -    }
    -  }
    -}
    - - diff --git a/examples/topics/scrollbar.html b/examples/topics/scrollbar.html deleted file mode 100644 index af6143a19..000000000 --- a/examples/topics/scrollbar.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - -

    Processing.js

    -

    Scrollbar

    - -

    Move the scrollbars left and right to change the positions of the images.

    - -

    Original Processing.org Example: Scrollbar
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -
    -/* @pjs preload="data/seedTop.jpg, data/seedBottom.jpg"; */
    -
    -HScrollbar hs1, hs2;
    -
    -PImage top, bottom;         // Two image to load
    -int topWidth, bottomWidth;  // The width of the top and bottom images
    -
    -
    -void setup()
    -{
    -  size(200, 200);
    -  noStroke();
    -  hs1 = new HScrollbar(0, 20, width, 10, 3*5+1);
    -  hs2 = new HScrollbar(0, height-20, width, 10, 3*5+1);
    -  top = loadImage("seedTop.jpg");
    -  topWidth = top.width;
    -  bottom = loadImage("seedBottom.jpg");
    -  bottomWidth = bottom.width;
    -}
    -
    -void draw()
    -{
    -  background(255);
    -  
    -  // Get the position of the top scrollbar
    -  // and convert to a value to display the top image 
    -  float topPos = hs1.getPos()-width/2;
    -  fill(255);
    -  image(top, width/2-topWidth/2 + topPos*2, 0);
    -  
    -  // Get the position of the bottom scrollbar
    -  // and convert to a value to display the bottom image
    -  float bottomPos = hs2.getPos()-width/2;
    -  fill(255);
    -  image(bottom, width/2-bottomWidth/2 + bottomPos*2, height/2);
    - 
    -  hs1.update();
    -  hs2.update();
    -  hs1.display();
    -  hs2.display();
    -}
    -
    -
    -class HScrollbar
    -{
    -  int swidth, sheight;    // width and height of bar
    -  int xpos, ypos;         // x and y position of bar
    -  float spos, newspos;    // x position of slider
    -  int sposMin, sposMax;   // max and min values of slider
    -  int loose;              // how loose/heavy
    -  boolean over;           // is the mouse over the slider?
    -  boolean locked;
    -  float ratio;
    -
    -  HScrollbar (int xp, int yp, int sw, int sh, int l) {
    -    swidth = sw;
    -    sheight = sh;
    -    int widthtoheight = sw - sh;
    -    ratio = (float)sw / (float)widthtoheight;
    -    xpos = xp;
    -    ypos = yp-sheight/2;
    -    spos = xpos + swidth/2 - sheight/2;
    -    newspos = spos;
    -    sposMin = xpos;
    -    sposMax = xpos + swidth - sheight;
    -    loose = l;
    -  }
    -
    -  void update() {
    -    if(over()) {
    -      over = true;
    -    } else {
    -      over = false;
    -    }
    -    if(mousePressed && over) {
    -      locked = true;
    -    }
    -    if(!mousePressed) {
    -      locked = false;
    -    }
    -    if(locked) {
    -      newspos = constrain(mouseX-sheight/2, sposMin, sposMax);
    -    }
    -    if(abs(newspos - spos) > 1) {
    -      spos = spos + (newspos-spos)/loose;
    -    }
    -  }
    -
    -  int constrain(int val, int minv, int maxv) {
    -    return min(max(val, minv), maxv);
    -  }
    -
    -  boolean over() {
    -    if(mouseX > xpos && mouseX < xpos+swidth &&
    -    mouseY > ypos && mouseY < ypos+sheight) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -
    -  void display() {
    -    fill(255);
    -    rect(xpos, ypos, swidth, sheight);
    -    if(over || locked) {
    -      fill(153, 102, 0);
    -    } else {
    -      fill(102, 102, 102);
    -    }
    -    rect(spos, ypos, sheight, sheight);
    -  }
    -
    -  float getPos() {
    -    // Convert spos to be values between
    -    // 0 and the total width of the scrollbar
    -    return spos * ratio;
    -  }
    -}
    - - diff --git a/examples/topics/sequential.html b/examples/topics/sequential.html deleted file mode 100644 index f2c28f666..000000000 --- a/examples/topics/sequential.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - -

    Processing.js

    -

    Sequential

    - -

    This code was updated from the Java source to work with Processing.js asynchronous image loading.

    - -

    by James Patterson. - -Displaying a sequence of images creates the illusion of motion. -Twelve images are loaded and each is displayed individually in a loop.

    - -

    Original Processing.org Example: Sequential
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int numFrames = 12;  // The number of frames in the animation
    -int frame = 0;
    -PImage[] images = new PImage[numFrames];
    -    
    -void setup()
    -{
    -  size(200, 200);
    -  frameRate(30);
    -  
    -  images[0]  = loadImage("PT_anim0000.gif");
    -  images[1]  = loadImage("PT_anim0001.gif"); 
    -  images[2]  = loadImage("PT_anim0002.gif");
    -  images[3]  = loadImage("PT_anim0003.gif"); 
    -  images[4]  = loadImage("PT_anim0004.gif");
    -  images[5]  = loadImage("PT_anim0005.gif"); 
    -  images[6]  = loadImage("PT_anim0006.gif");
    -  images[7]  = loadImage("PT_anim0007.gif"); 
    -  images[8]  = loadImage("PT_anim0008.gif");
    -  images[9]  = loadImage("PT_anim0009.gif"); 
    -  images[10] = loadImage("PT_anim0010.gif");
    -  images[11] = loadImage("PT_anim0011.gif"); 
    -  
    -  // If you don't want to load each image separately
    -  // and you know how many frames you have, you
    -  // can create the filenames as the program runs.
    -  // The nf() command does number formatting, which will
    -  // ensure that the number is (in this case) 4 digits.
    -  //for(int i=0; i<numFrames; i++) {
    -  //  String imageName = "PT_anim" + nf(i, 4) + ".gif";
    -  //  images[i] = loadImage(imageName);
    -  //}
    -} 
    - 
    -void draw() 
    -{ 
    -  frame = (frame+1)%numFrames;  // Use % to cycle through frames
    -  if( images[frame].loaded ){
    -    image(images[frame], 0, 0);
    -  }
    -}
    -
    - - diff --git a/examples/topics/simpleparticlesystem.html b/examples/topics/simpleparticlesystem.html deleted file mode 100644 index 24c2f6879..000000000 --- a/examples/topics/simpleparticlesystem.html +++ /dev/null @@ -1,532 +0,0 @@ - - - - - -

    Processing.js

    -

    SimpleParticleSystem

    - -

    by Daniel Shiffman. - -Particles are generated each cycle through draw(), -fall with gravity and fade out over time -A ParticleSystem object manages a variable size (ArrayList) -list of particles.

    - -

    Original Processing.org Example: SimpleParticleSystem
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -ParticleSystem ps;
    -
    -void setup() {
    -  size(200,200);
    -  frameRate(30);
    -  colorMode(RGB,255,255,255,100);
    -  ps = new ParticleSystem(1,new Vector3D(width/2,height/2,0));
    -  smooth();
    -}
    -
    -void draw() {
    -  background(0);
    -  ps.run();
    -  ps.addParticle();
    -}
    -
    -
    -// A simple Particle class
    -
    -class Particle {
    -  Vector3D loc;
    -  Vector3D vel;
    -  Vector3D acc;
    -  float r;
    -  float timer;
    -
    -  // One constructor
    -  Particle(Vector3D a, Vector3D v, Vector3D l, float r_) {
    -    acc = a.copy();
    -    vel = v.copy();
    -    loc = l.copy();
    -    r = r_;
    -    timer = 100.0;
    -  }
    -  
    -  // Another constructor (the one we are using here)
    -  Particle(Vector3D l) {
    -    acc = new Vector3D(0,0.05,0);
    -    vel = new Vector3D(random(-1,1),random(-2,0),0);
    -    loc = l.copy();
    -    r = 10.0;
    -    timer = 100.0;
    -  }
    -
    -
    -  void run() {
    -    update();
    -    render();
    -  }
    -
    -  // Method to update location
    -  void update() {
    -    vel.add(acc);
    -    loc.add(vel);
    -    timer -= 1.0;
    -  }
    -
    -  // Method to display
    -  void render() {
    -    ellipseMode(CENTER);
    -    noStroke();
    -    fill(255,timer);
    -    ellipse(loc.x,loc.y,r,r);
    -  }
    -  
    -  // Is the particle still useful?
    -  boolean dead() {
    -    if (timer <= 0.0) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -}
    -
    -
    -// A class to describe a group of Particles
    -// An ArrayList is used to manage the list of Particles 
    -
    -class ParticleSystem {
    -
    -  ArrayList particles;    // An arraylist for all the particles
    -  Vector3D origin;        // An origin point for where particles are birthed
    -
    -  ParticleSystem(int num, Vector3D v) {
    -    particles = new ArrayList();              // Initialize the arraylist
    -    origin = v.copy();                        // Store the origin point
    -    for (int i = 0; i < num; i++) {
    -      particles.add(new Particle(origin));    // Add "num" amount of particles to the arraylist
    -    }
    -  }
    -
    -  void run() {
    -    // Cycle through the ArrayList backwards b/c we are deleting
    -    for (int i = particles.size()-1; i >= 0; i--) {
    -      Particle p = (Particle) particles.get(i);
    -      p.run();
    -      if (p.dead()) {
    -        particles.remove(i);
    -      }
    -    }
    -  }
    -
    -  void addParticle() {
    -    particles.add(new Particle(origin));
    -  }
    -
    -  void addParticle(Particle p) {
    -    particles.add(p);
    -  }
    -
    -  // A method to test if the particle system still has particles
    -  boolean dead() {
    -    if (particles.isEmpty()) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -
    -}
    -
    -
    -
    -// Simple Vector3D Class 
    -
    -public class Vector3D {
    -  public float x;
    -  public float y;
    -  public float z;
    -
    -  Vector3D(float x_, float y_, float z_) {
    -    x = x_; y = y_; z = z_;
    -  }
    -
    -  Vector3D(float x_, float y_) {
    -    x = x_; y = y_; z = 0f;
    -  }
    -  
    -  Vector3D() {
    -    x = 0f; y = 0f; z = 0f;
    -  }
    -
    -  void setX(float x_) {
    -    x = x_;
    -  }
    -
    -  void setY(float y_) {
    -    y = y_;
    -  }
    -
    -  void setZ(float z_) {
    -    z = z_;
    -  }
    -  
    -  void setXY(float x_, float y_) {
    -    x = x_;
    -    y = y_;
    -  }
    -  
    -  void setXYZ(float x_, float y_, float z_) {
    -    x = x_;
    -    y = y_;
    -    z = z_;
    -  }
    -
    -  void setXYZ(Vector3D v) {
    -    x = v.x;
    -    y = v.y;
    -    z = v.z;
    -  }
    -  public float magnitude() {
    -    return (float) Math.sqrt(x*x + y*y + z*z);
    -  }
    -
    -  public Vector3D copy() {
    -    return new Vector3D(x,y,z);
    -  }
    -
    -  public Vector3D copy(Vector3D v) {
    -    return new Vector3D(v.x, v.y,v.z);
    -  }
    -  
    -  public void add(Vector3D v) {
    -    x += v.x;
    -    y += v.y;
    -    z += v.z;
    -  }
    -
    -  public void sub(Vector3D v) {
    -    x -= v.x;
    -    y -= v.y;
    -    z -= v.z;
    -  }
    -
    -  public void mult(float n) {
    -    x *= n;
    -    y *= n;
    -    z *= n;
    -  }
    -
    -  public void div(float n) {
    -    x /= n;
    -    y /= n;
    -    z /= n;
    -  }
    -
    -  public void normalize() {
    -    float m = magnitude();
    -    if (m > 0) {
    -       div(m);
    -    }
    -  }
    -
    -  public void limit(float max) {
    -    if (magnitude() > max) {
    -      normalize();
    -      mult(max);
    -    }
    -  }
    -
    -  public float heading2D() {
    -    float angle = (float) Math.atan2(-y, x);
    -    return -1*angle;
    -  }
    -
    -  public Vector3D add(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x + v2.x,v1.y + v2.y, v1.z + v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D sub(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x - v2.x,v1.y - v2.y,v1.z - v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D div(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x/n,v1.y/n,v1.z/n);
    -    return v;
    -  }
    -
    -  public Vector3D mult(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x*n,v1.y*n,v1.z*n);
    -    return v;
    -  }
    -
    -  public float distance (Vector3D v1, Vector3D v2) {
    -    float dx = v1.x - v2.x;
    -    float dy = v1.y - v2.y;
    -    float dz = v1.z - v2.z;
    -    return (float) Math.sqrt(dx*dx + dy*dy + dz*dz);
    -  }
    -
    -}
    - - diff --git a/examples/topics/smoke.html b/examples/topics/smoke.html deleted file mode 100644 index c953a6a13..000000000 --- a/examples/topics/smoke.html +++ /dev/null @@ -1,536 +0,0 @@ - - - - - -

    Processing.js

    -

    Smoke

    - -

    by Glen Murphy. - -Drag the mouse across the image to move the particles. -Code has not been optimised and will run fairly slowly. - -Completed 5 November 2002

    - -

    Original Processing.org Example: Smoke
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int res = 2;
    -int penSize = 30;
    -int lwidth;
    -int lheight;
    -int pnum = 30000;
    -vsquare[][] v;
    -vbuffer[][] vbuf;
    -particle[] p;
    -int pcount = 0;
    -int mouseXvel = 0;
    -int mouseYvel = 0;
    -
    -int randomGust = 0;
    -int randomGustMax;
    -float randomGustX;
    -float randomGustY;
    -float randomGustSize;
    -float randomGustXvel;
    -float randomGustYvel;
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  lwidth = width/res;
    -  lheight = height/res;
    -  v = new vsquare[lwidth+1][lheight+1];
    -  vbuf = new vbuffer[lwidth+1][lheight+1];
    -  p = new particle[pnum];
    -  noStroke();
    -  for(int i = 0; i < pnum; i++) {
    -    p[i] = new particle(random(width/2-20,width/2+20),random(height-20,height));
    -  }
    -  for(int i = 0; i <= lwidth; i++) {
    -    for(int u = 0; u <= lheight; u++) {
    -      v[i][u] = new vsquare(i*res,u*res);
    -      vbuf[i][u] = new vbuffer(i*res,u*res);
    -    }
    -  }
    -}
    -
    -void draw() 
    -{
    -  background(#cccccc);
    -  
    -  int axvel = mouseX-pmouseX;
    -  int ayvel = mouseY-pmouseY;
    -
    -  mouseXvel = (axvel != mouseXvel) ? axvel : 0;
    -  mouseYvel = (ayvel != mouseYvel) ? ayvel : 0;
    -
    -  if(randomGust <= 0) {
    -    if(random(0,10)<1) {
    -      randomGustMax = (int)random(5,12);
    -      randomGust = randomGustMax;
    -      randomGustX = random(0,width);
    -      randomGustY = random(0,height-10);
    -      randomGustSize = random(0,50);
    -      if(randomGustX > width/2) {
    -        randomGustXvel = random(-8,0);
    -      } else { 
    -        randomGustXvel = random(0,8);
    -      }
    -      randomGustYvel = random(-2,1);
    -    }
    -    randomGust--;
    -  }
    -
    -  for(int i = 0; i < lwidth; i++) {
    -    for(int u = 0; u < lheight; u++) {
    -      vbuf[i][u].updatebuf(i,u);
    -      v[i][u].col = 0;
    -    }
    -  }
    -  for(int i = 0; i < pnum-1; i++) {
    -    p[i].updatepos();
    -  }
    -  for(int i = 0; i < lwidth; i++) {
    -    for(int u = 0; u < lheight; u++) {
    -      v[i][u].addbuffer(i, u);
    -      v[i][u].updatevels(mouseXvel, mouseYvel);
    -      v[i][u].display(i, u);
    -    }
    -  }
    -  randomGust = 0;
    -}
    -
    -class particle 
    -{
    -  float x;
    -  float y;
    -  float xvel;
    -  float yvel;
    -  float temp;
    -  int pos;
    -
    -  particle(float xIn, float yIn) {
    -    x = xIn;
    -    y = yIn;
    -  }
    -
    -  void reposition() {
    -    x = width/2+random(-20,20);
    -    y = random(height-10,height);
    -
    -    xvel = random(-1,1);
    -    yvel = random(-1,1);
    -  }
    -
    -  void updatepos() {
    -    int vi = (int)(x/res);
    -    int vu = (int)(y/res);
    -
    -    if(vi > 0 && vi < lwidth && vu > 0 && vu < lheight) {
    -      v[vi][vu].addcolour(2);
    -
    -      float ax = (x%res)/res;
    -      float ay = (y%res)/res;
    -
    -      xvel += (1-ax)*v[vi][vu].xvel*0.05;
    -      yvel += (1-ay)*v[vi][vu].yvel*0.05;
    -
    -      xvel += ax*v[vi+1][vu].xvel*0.05;
    -      yvel += ax*v[vi+1][vu].yvel*0.05;
    -
    -      xvel += ay*v[vi][vu+1].xvel*0.05;
    -      yvel += ay*v[vi][vu+1].yvel*0.05;
    -
    -      v[vi][vu].yvel -= (1-ay)*0.003;
    -      v[vi+1][vu].yvel -= ax*0.003;
    -
    -      if(v[vi][vu].yvel < 0) v[vi][vu].yvel *= 1.00025;
    -
    -      x += xvel;
    -      y += yvel;
    -    } 
    -    else {
    -      reposition();
    -    }
    -    if(random(0,400) < 1) {
    -      reposition();
    -    }
    -    xvel *= 0.6;
    -    yvel *= 0.6;
    -  }
    -}
    -
    -class vbuffer
    -{
    -  int x;
    -  int y;
    -  float xvel;
    -  float yvel;
    -  float pressurex = 0;
    -  float pressurey = 0;
    -  float pressure = 0;
    -
    -  vbuffer(int xIn,int yIn) {
    -    x = xIn;
    -    y = yIn;
    -    pressurex = 0;
    -    pressurey = 0;
    -  }
    -
    -  void updatebuf(int i, int u) {
    -    if(i>0 && i<lwidth && u>0 && u<lheight) {
    -      pressurex = (v[i-1][u-1].xvel*0.5 + v[i-1][u].xvel + v[i-1][u+1].xvel*0.5 - v[i+1][u-1].xvel*0.5 - v[i+1][u].xvel - v[i+1][u+1].xvel*0.5);
    -      pressurey = (v[i-1][u-1].yvel*0.5 + v[i][u-1].yvel + v[i+1][u-1].yvel*0.5 - v[i-1][u+1].yvel*0.5 - v[i][u+1].yvel - v[i+1][u+1].yvel*0.5);
    -      pressure = (pressurex + pressurey)*0.25;
    -    }
    -  }
    -}
    -
    -class vsquare {
    -  int x;
    -  int y;
    -  float xvel;
    -  float yvel;
    -  float col;
    -
    -  vsquare(int xIn,int yIn) {
    -    x = xIn;
    -    y = yIn;
    -  }
    -
    -  void addbuffer(int i, int u) {
    -    if(i>0 && i<lwidth && u>0 && u<lheight) {
    -      xvel += (vbuf[i-1][u-1].pressure*0.5
    -      +vbuf[i-1][u].pressure
    -      +vbuf[i-1][u+1].pressure*0.5
    -      -vbuf[i+1][u-1].pressure*0.5
    -      -vbuf[i+1][u].pressure
    -      -vbuf[i+1][u+1].pressure*0.5
    -      )*0.49;
    -      yvel += (vbuf[i-1][u-1].pressure*0.5
    -      +vbuf[i][u-1].pressure
    -      +vbuf[i+1][u-1].pressure*0.5
    -      -vbuf[i-1][u+1].pressure*0.5
    -      -vbuf[i][u+1].pressure
    -      -vbuf[i+1][u+1].pressure*0.5
    -      )*0.49;
    -    }
    -  }
    -
    -  void updatevels(int mvelX, int mvelY) {
    -    float adj;
    -    float opp;
    -    float dist;
    -    float mod;
    -
    -    if(mousePressed) {
    -      adj = x - mouseX;
    -      opp = y - mouseY;
    -      dist = sqrt(opp*opp + adj*adj);
    -      if(dist < penSize) {
    -        if(dist < 4) dist = penSize;
    -        mod = penSize/dist;
    -        xvel += mvelX*mod;
    -        yvel += mvelY*mod;
    -      }
    -    }
    -    if(randomGust > 0) {
    -      adj = x - randomGustX;
    -      opp = y - randomGustY;
    -      dist = sqrt(opp*opp + adj*adj);
    -      if(dist < randomGustSize) {
    -        if(dist < res*2) dist = randomGustSize;
    -        mod = randomGustSize/dist;
    -        xvel += (randomGustMax-randomGust)*randomGustXvel*mod;
    -        yvel += (randomGustMax-randomGust)*randomGustYvel*mod;
    -      }
    -    }
    -    xvel *= 0.99;
    -    yvel *= 0.98;
    -  }
    -
    -  void addcolour(int amt) {
    -    col += amt;
    -    if(col > 196) col = 196;
    -  }
    -
    -  void display(int i, int u) {
    -    float tcol = 0;
    -    if(i>0 && i<lwidth-1 && u>0 && u<lheight-1) {
    -
    -      tcol = (+ v[i][u+1].col
    -      + v[i+1][u].col
    -      + v[i+1][u+1].col*0.5
    -      )*0.3;
    -      tcol = (int)(tcol+col*0.5);
    -    }
    -
    -    fill(255-tcol, 255-tcol, 255-tcol);
    -    rect(x,y,res,res);
    -    col = 0;
    -  }
    -}
    - - diff --git a/examples/topics/smokeparticlesystem.html b/examples/topics/smokeparticlesystem.html deleted file mode 100644 index 5c55ba470..000000000 --- a/examples/topics/smokeparticlesystem.html +++ /dev/null @@ -1,654 +0,0 @@ - - - - - -

    Processing.js

    -

    SmokeParticleSystem

    - -

    by Daniel Shiffman. - -A basic smoke effect using a particle system. -Each particle is rendered as an alpha masked image.

    - -

    Original Processing.org Example: SmokeParticleSystem
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -ParticleSystem ps;
    -Random generator;
    -
    -void setup() {
    -  size(200, 200);
    -  frameRate(30);
    -  colorMode(RGB, 255, 255, 255, 100);
    -  generator = new Random();
    -    
    -  // Create an alpha masked image to be applied as the particle's texture
    -  PImage msk = loadImage("texture.gif");
    -  PImage img = new PImage(msk.width,msk.height);
    -  for (int i = 0; i < img.pixels.length; i++) img.pixels[i] = color(255);
    -  img.mask(msk);
    -
    -  ps = new ParticleSystem(0,new Vector3D(width/2,height-20),img);
    -  smooth();
    -}
    -
    -void draw() {
    -  background(0);
    -  
    -  // Calculate a "wind" force based on mouse horizontal position
    -  float dx = (mouseX - width/2) / 1000.0;
    -  Vector3D wind = new Vector3D(dx,0,0);
    -  ps.add_force(wind);
    -  ps.run();
    -  for (int i = 0; i < 2; i++) {
    -    ps.addParticle();
    -  }
    -  
    -  // Draw an arrow representing the wind force
    -  drawVector(wind, new Vector3D(width/2,50,0),500);
    -
    -}
    -
    -// Renders a vector object 'v' as an arrow and a location 'loc'
    -void drawVector(Vector3D v, Vector3D loc, float scayl) {
    -  pushMatrix();
    -  float arrowsize = 4;
    -  // Translate to location to render vector
    -  translate(loc.x,loc.y);
    -  stroke(255);
    -  // Call vector heading function to get direction (note that pointing up is a heading of 0) and rotate
    -  rotate(v.heading2D());
    -  // Calculate length of vector & scale it to be bigger or smaller if necessary
    -  float len = v.magnitude()*scayl;
    -  // Draw three lines to make an arrow (draw pointing up since we've rotate to the proper direction)
    -  line(0,0,len,0);
    -  line(len,0,len-arrowsize,+arrowsize/2);
    -  line(len,0,len-arrowsize,-arrowsize/2);
    -  popMatrix();
    -}
    -
    -
    -
    -// A simple Particle class, renders the particle as an image
    -
    -class Particle {
    -  Vector3D loc;
    -  Vector3D vel;
    -  Vector3D acc;
    -  float timer;
    -  PImage img;
    -
    -  // One constructor
    -  Particle(Vector3D a, Vector3D v, Vector3D l, PImage img_) {
    -    acc = a.copy();
    -    vel = v.copy();
    -    loc = l.copy();
    -    timer = 100.0;
    -    img = img_;
    -  }
    -
    -  // Another constructor (the one we are using here)
    -  Particle(Vector3D l,PImage img_) {
    -    acc = new Vector3D(0.0,0.0,0.0);
    -    float x = (float) generator.nextGaussian()*0.3f;
    -    float y = (float) generator.nextGaussian()*0.3f - 1.0f;
    -    vel = new Vector3D(x,y,0);
    -    loc = l.copy();
    -    timer = 100.0;
    -    img = img_;
    -  }
    -
    -  void run() {
    -    update();
    -    render();
    -  }
    -  
    -  // Method to apply a force vector to the Particle object
    -  // Note we are ignoring "mass" here
    -  void add_force(Vector3D f) {
    -    acc.add(f);
    -  }  
    -
    -  // Method to update location
    -  void update() {
    -    vel.add(acc);
    -    loc.add(vel);
    -    timer -= 2.5;
    -    acc.setXY(0,0);
    -  }
    -
    -  // Method to display
    -  void render() {
    -    imageMode(CORNER);
    -    tint(255,timer);
    -    image(img,loc.x-img.width/2,loc.y-img.height/2);
    -  }
    -
    -  // Is the particle still useful?
    -  boolean dead() {
    -    if (timer <= 0.0) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -}
    -
    -
    -// A class to describe a group of Particles
    -// An ArrayList is used to manage the list of Particles 
    -
    -class ParticleSystem {
    -
    -  ArrayList particles;    // An arraylist for all the particles
    -  Vector3D origin;        // An origin point for where particles are birthed
    -  PImage img;
    -  
    -  ParticleSystem(int num, Vector3D v, PImage img_) {
    -    particles = new ArrayList();              // Initialize the arraylist
    -    origin = v.copy();                        // Store the origin point
    -    img = img_;
    -    for (int i = 0; i < num; i++) {
    -      particles.add(new Particle(origin, img));    // Add "num" amount of particles to the arraylist
    -    }
    -  }
    -
    -  void run() {
    -    // Cycle through the ArrayList backwards b/c we are deleting
    -    for (int i = particles.size()-1; i >= 0; i--) {
    -      Particle p = (Particle) particles.get(i);
    -      p.run();
    -      if (p.dead()) {
    -        particles.remove(i);
    -      }
    -    }
    -  }
    -  
    -  // Method to add a force vector to all particles currently in the system
    -  void add_force(Vector3D dir) {
    -    for (int i = particles.size()-1; i >= 0; i--) {
    -      Particle p = (Particle) particles.get(i);
    -      p.add_force(dir);
    -    }
    -  
    -  }  
    -
    -  void addParticle() {
    -    particles.add(new Particle(origin,img));
    -  }
    -
    -  void addParticle(Particle p) {
    -    particles.add(p);
    -  }
    -
    -  // A method to test if the particle system still has particles
    -  boolean dead() {
    -    if (particles.isEmpty()) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -
    -}
    -
    -
    -public class Vector3D {
    -  public float x;
    -  public float y;
    -  public float z;
    -
    -  Vector3D(float x_, float y_, float z_) {
    -    x = x_; y = y_; z = z_;
    -  }
    -
    -  Vector3D(float x_, float y_) {
    -    x = x_; y = y_; z = 0f;
    -  }
    -  
    -  Vector3D() {
    -    x = 0f; y = 0f; z = 0f;
    -  }
    -
    -  void setX(float x_) {
    -    x = x_;
    -  }
    -
    -  void setY(float y_) {
    -    y = y_;
    -  }
    -
    -  void setZ(float z_) {
    -    z = z_;
    -  }
    -  
    -  void setXY(float x_, float y_) {
    -    x = x_;
    -    y = y_;
    -  }
    -  
    -  void setXYZ(float x_, float y_, float z_) {
    -    x = x_;
    -    y = y_;
    -    z = z_;
    -  }
    -
    -  void setXYZ(Vector3D v) {
    -    x = v.x;
    -    y = v.y;
    -    z = v.z;
    -  }
    -  public float magnitude() {
    -    return (float) Math.sqrt(x*x + y*y + z*z);
    -  }
    -
    -  public Vector3D copy() {
    -    return new Vector3D(x,y,z);
    -  }
    -
    -  public Vector3D copy(Vector3D v) {
    -    return new Vector3D(v.x, v.y,v.z);
    -  }
    -  
    -  public void add(Vector3D v) {
    -    x += v.x;
    -    y += v.y;
    -    z += v.z;
    -  }
    -
    -  public void sub(Vector3D v) {
    -    x -= v.x;
    -    y -= v.y;
    -    z -= v.z;
    -  }
    -
    -  public void mult(float n) {
    -    x *= n;
    -    y *= n;
    -    z *= n;
    -  }
    -
    -  public void div(float n) {
    -    x /= n;
    -    y /= n;
    -    z /= n;
    -  }
    -  
    -  /*public float dot(Vector3D v) {
    -    //implement DOT product
    -  }*/
    -  
    -  /*public Vector3D cross(Vector3D v) {
    -    //implement CROSS product
    -  }*/
    -
    -  public void normalize() {
    -    float m = magnitude();
    -    if (m > 0) {
    -       div(m);
    -    }
    -  }
    -
    -  public void limit(float max) {
    -    if (magnitude() > max) {
    -      normalize();
    -      mult(max);
    -    }
    -  }
    -
    -  public float heading2D() {
    -    float angle = (float) Math.atan2(-y, x);
    -    return -1*angle;
    -  }
    -
    -  public Vector3D add(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x + v2.x,v1.y + v2.y, v1.z + v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D sub(Vector3D v1, Vector3D v2) {
    -    Vector3D v = new Vector3D(v1.x - v2.x,v1.y - v2.y,v1.z - v2.z);
    -    return v;
    -  }
    -
    -  public Vector3D div(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x/n,v1.y/n,v1.z/n);
    -    return v;
    -  }
    -
    -  public Vector3D mult(Vector3D v1, float n) {
    -    Vector3D v = new Vector3D(v1.x*n,v1.y*n,v1.z*n);
    -    return v;
    -  }
    -
    -  public float distance (Vector3D v1, Vector3D v2) {
    -    float dx = v1.x - v2.x;
    -    float dy = v1.y - v2.y;
    -    float dz = v1.z - v2.z;
    -    return (float) Math.sqrt(dx*dx + dy*dy + dz*dz);
    -  }
    -
    -}
    - - diff --git a/examples/topics/softbody.html b/examples/topics/softbody.html deleted file mode 100644 index 89b3f555e..000000000 --- a/examples/topics/softbody.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - -

    Processing.js

    -

    SoftBody

    - -

    by Ira Greenberg. - -Softbody dynamics simulation using curveVertex() and curveTightness()

    - -

    Original Processing.org Example: SoftBody
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// center point
    -float centerX = 0, centerY = 0;
    -
    -float radius = 45, rotAngle = -90;
    -float accelX, accelY;
    -float springing = .0085, damping = .98;
    -
    -//corner nodes
    -int nodes = 5;
    -float nodeStartX[] = new float[nodes];
    -float nodeStartY[] = new float[nodes];
    -float[]nodeX = new float[nodes];
    -float[]nodeY = new float[nodes];
    -float[]angle = new float[nodes];
    -float[]frequency = new float[nodes];
    -
    -// soft-body dynamics
    -float organicConstant = 1;
    -
    -void setup() {
    -  size(200, 200);
    -  //center shape in window
    -  centerX = width/2;
    -  centerY = height/2;
    -  // iniitalize frequencies for corner nodes
    -  for (int i=0; i<nodes; i++){
    -    frequency[i] = random(5, 12);
    -  }
    -  noStroke();
    -  smooth();
    -  frameRate(30);
    -}
    -
    -void draw() {
    -  //fade background
    -  fill(0, 100);
    -  rect(0,0,width, height);
    -  drawShape();
    -  moveShape();
    -}
    -
    -void drawShape() {
    -  //  calculate node  starting locations
    -  for (int i=0; i<nodes; i++){
    -    nodeStartX[i] = centerX+cos(radians(rotAngle))*radius;
    -    nodeStartY[i] = centerY+sin(radians(rotAngle))*radius;
    -    rotAngle += 360.0/nodes;
    -  }
    -
    -  // draw polygon
    -  curveTightness(organicConstant);
    -  fill(255);
    -  beginShape();
    -  for (int i=0; i<nodes; i++){
    -    curveVertex(nodeX[i], nodeY[i]);
    -  }
    -  for (int i=0; i<nodes-1; i++){
    -    curveVertex(nodeX[i], nodeY[i]);
    -  }
    -  endShape(CLOSE);
    -}
    -
    -void moveShape() {
    -  //move center point
    -  float deltaX = mouseX-centerX;
    -  float deltaY = mouseY-centerY;
    -
    -  // create springing effect
    -  deltaX *= springing;
    -  deltaY *= springing;
    -  accelX += deltaX;
    -  accelY += deltaY;
    -
    -  // move predator's center
    -  centerX += accelX;
    -  centerY += accelY;
    -
    -  // slow down springing
    -  accelX *= damping;
    -  accelY *= damping;
    -
    -  // change curve tightness
    -  organicConstant = 1-((abs(accelX)+abs(accelY))*.1);
    -
    -  //move nodes
    -  for (int i=0; i<nodes; i++){
    -    nodeX[i] = nodeStartX[i]+sin(radians(angle[i]))*(accelX*2);
    -    nodeY[i] = nodeStartY[i]+sin(radians(angle[i]))*(accelY*2);
    -    angle[i]+=frequency[i];
    -  }
    -}
    - - diff --git a/examples/topics/spore1.html b/examples/topics/spore1.html deleted file mode 100644 index 4d9f98fed..000000000 --- a/examples/topics/spore1.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - -

    Processing.js

    -

    Spore1

    - -

    by Mike Davis. - -A short program for alife experiments. Click in the window to restart. -Each cell is represented by a pixel on the display as well as an entry in -the array 'cells'. Each cell has a run() method, which performs actions -based on the cell's surroundings. Cells run one at a time (to avoid conflicts -like wanting to move to the same space) and in random order.

    - -

    Original Processing.org Example: Spore1
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -World w;
    -int numcells = 0;
    -int maxcells = 4700;
    -Cell[] cells = new Cell[maxcells];
    -color spore_color;
    -// set lower for smoother animation, higher for faster simulation
    -int runs_per_loop = 100;
    -color black = color(0, 0, 0);
    -  
    -void setup()
    -{
    -  size(200, 200);
    -  frameRate(24);
    -  clearscr();  
    -  w = new World();
    -  spore_color = color(172, 255, 128);
    -  seed();
    -}
    -
    -void seed() 
    -{
    -  // Add cells at random places
    -  for (int i = 0; i < maxcells; i++)
    -  {
    -    int cX = (int)random(width);
    -    int cY = (int)random(height);
    -    if (w.getpix(cX, cY) == black)
    -    {
    -      w.setpix(cX, cY, spore_color);
    -      cells[numcells] = new Cell(cX, cY);
    -      numcells++;
    -    }
    -  }
    -}
    -
    -void draw()
    -{
    -  // Run cells in random order
    -  for (int i = 0; i < runs_per_loop; i++) {
    -    int selected = min((int)random(numcells), numcells - 1);
    -    cells[selected].run();
    -  }
    -}
    -
    -void clearscr()
    -{
    -  background(0);
    -}
    -
    -class Cell
    -{
    -  int x, y;
    -  Cell(int xin, int yin)
    -  {
    -    x = xin;
    -    y = yin;
    -  }
    -
    -    // Perform action based on surroundings
    -  void run()
    -  {
    -    // Fix cell coordinates
    -    while(x < 0) {
    -      x+=width;
    -    }
    -    while(x > width - 1) {
    -      x-=width;
    -    }
    -    while(y < 0) {
    -      y+=height;
    -    }
    -    while(y > height - 1) {
    -      y-=height;
    -    }
    -    
    -    // Cell instructions
    -    if (w.getpix(x + 1, y) == black) {
    -      move(0, 1);
    -    } else if (w.getpix(x, y - 1) != black && w.getpix(x, y + 1) != black) {
    -      move((int)random(9) - 4, (int)random(9) - 4);
    -    }
    -  }
    -  
    -  // Will move the cell (dx, dy) units if that space is empty
    -  void move(int dx, int dy) {
    -    if (w.getpix(x + dx, y + dy) == black) {
    -      w.setpix(x + dx, y + dy, w.getpix(x, y));
    -      w.setpix(x, y, color(0));
    -      x += dx;
    -      y += dy;
    -    }
    -  }
    -}
    -
    -//  The World class simply provides two functions, get and set, which access the
    -//  display in the same way as getPixel and setPixel.  The only difference is that
    -//  the World class's get and set do screen wraparound ("toroidal coordinates").
    -class World
    -{
    -  void setpix(int x, int y, int c) {
    -    while(x < 0) x+=width;
    -    while(x > width - 1) x-=width;
    -    while(y < 0) y+=height;
    -    while(y > height - 1) y-=height;
    -    set(x, y, c);
    -  }
    -  
    -  color getpix(int x, int y) {
    -    while(x < 0) x+=width;
    -    while(x > width - 1) x-=width;
    -    while(y < 0) y+=height;
    -    while(y > height - 1) y-=height;
    -    return get(x, y);
    -  }
    -}
    -
    -void mousePressed()
    -{
    -  numcells = 0;
    -  setup();
    -}
    - - diff --git a/examples/topics/spore2.html b/examples/topics/spore2.html deleted file mode 100644 index eeb8f0dae..000000000 --- a/examples/topics/spore2.html +++ /dev/null @@ -1,349 +0,0 @@ - - - - - -

    Processing.js

    -

    Spore2

    - -

    by Mike Davis. - -A short program for alife experiments. Click in the window to restart. -Each cell is represented by a pixel on the display as well as an entry in -the array 'cells'. Each cell has a run() method, which performs actions -based on the cell's surroundings. Cells run one at a time (to avoid conflicts -like wanting to move to the same space) and in random order.

    - -

    Original Processing.org Example: Spore2
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -World w;
    -int maxcells = 4000;
    -int numcells;
    -Cell[] cells = new Cell[maxcells];
    -color spore1, spore2, spore3, spore4;
    -color black = color(0, 0, 0);
    -// set lower for smoother animation, higher for faster simulation
    -int runs_per_loop = 100;
    -
    -void setup()
    -{
    -  size(200, 200);
    -  frameRate(24);
    -  clearscr();
    -  w = new World();
    -  spore1 = color(128, 172, 255);
    -  spore2 = color(64, 128, 255);
    -  spore3 = color(255, 128, 172);
    -  spore4 = color(255, 64, 128);
    -  numcells = 0;
    -  seed();
    -}
    -
    -void seed()
    -{
    -  // Add cells at random places
    -  for (int i = 0; i < maxcells; i++)
    -  {
    -    int cX = int(random(width));
    -    int cY = int(random(height));
    -    int c;
    -    float r = random(1);
    -    if (r < 0.25) c = spore1;
    -    else if (r < 0.5) c = spore2;
    -    else if (r < 0.75) c = spore3;
    -    else c = spore4;
    -    if (w.getpix(cX, cY) == black)
    -    {
    -      w.setpix(cX, cY, c);
    -      cells[numcells] = new Cell(cX, cY);
    -      numcells++;
    -    }
    -  }
    -}
    -
    -void draw()
    -{
    -  // Run cells in random order
    -  for (int i = 0; i < runs_per_loop; i++) {
    -    int selected = min((int)random(numcells), numcells - 1);
    -    cells[selected].run();
    -  }
    -}
    -
    -void clearscr()
    -{
    -  for (int y = 0; y < height; y++) {
    -    for (int x = 0; x < width; x++) {
    -      set(x, y, color(0));
    -    }
    -  }
    -}
    -
    -class Cell
    -{
    -  int x, y;
    -  Cell(int xin, int yin)
    -  {
    -    x = xin;
    -    y = yin;
    -  }
    -  // Perform action based on surroundings
    -  void run()
    -  {
    -    // Fix cell coordinates
    -    while(x < 0) {
    -      x+=width;
    -    }
    -    while(x > width - 1) {
    -      x-=width;
    -    }
    -    while(y < 0) {
    -      y+=height;
    -    }
    -    while(y > height - 1) {
    -      y-=height;
    -    }
    -
    -    // Cell instructions
    -    int myColor = w.getpix(x, y);
    -    if (myColor == spore1) {
    -      if (w.getpix(x - 1, y + 1) == black && w.getpix(x + 1, y + 1) == black && w.getpix(x, y + 1) == black) move(0, 1);
    -      else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) != black) move(0, -1);
    -      else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) == black) move(-1, -1);
    -      else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) != black) move(0, -1);
    -      else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) == black) move(1, -1);
    -      else move((int)random(3) - 1, 0);
    -    } else if (myColor == spore2) {
    -      if (w.getpix(x - 1, y + 1) == black && w.getpix(x + 1, y + 1) == black && w.getpix(x, y + 1) == black) move(0, 1);
    -      else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) != black) move(0, -1);
    -      else if (w.getpix(x + 1, y) == spore1 && w.getpix(x + 1, y - 1) == black) move(1, -1);
    -      else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) != black) move(0, -1);
    -      else if (w.getpix(x - 1, y) == spore2 && w.getpix(x - 1, y - 1) == black) move(-1, -1);
    -      else move((int)random(3) - 1, 0);
    -    }
    -    else if (myColor == spore3)
    -    {
    -      if (w.getpix(x - 1, y - 1) == black && w.getpix(x + 1, y - 1) == black && w.getpix(x, y - 1) == black) move(0, -1);
    -      else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) != black) move(0, 1);
    -      else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) == black) move(-1, 1);
    -      else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) != black) move(0, 1);
    -      else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) == black) move(1, 1);
    -      else move((int)random(3) - 1, 0);
    -    }
    -    else if (myColor == spore4)
    -    {
    -      if (w.getpix(x - 1, y - 1) == black && w.getpix(x + 1, y - 1) == black && w.getpix(x, y - 1) == black) move(0, -1);
    -      else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) != black) move(0, 1);
    -      else if (w.getpix(x + 1, y) == spore3 && w.getpix(x + 1, y + 1) == black) move(1, 1);
    -      else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) != black) move(0, 1);
    -      else if (w.getpix(x - 1, y) == spore4 && w.getpix(x - 1, y + 1) == black) move(-1, 1);
    -      else move((int)random(3) - 1, 0);
    -    }
    -  }
    -  
    -  // Will move the cell (dx, dy) units if that space is empty
    -  void move(int dx, int dy) {
    -    if (w.getpix(x + dx, y + dy) == black) {
    -      w.setpix(x + dx, y + dy, w.getpix(x, y));
    -      w.setpix(x, y, color(0));
    -      x += dx;
    -      y += dy;
    -    }
    -  }
    -}
    -
    -//  The World class simply provides two functions, get and set, which access the
    -//  display in the same way as getPixel and setPixel.  The only difference is that
    -//  the World class's get and set do screen wraparound ("toroidal coordinates").
    -class World
    -{
    -  void setpix(int x, int y, int c) {
    -    while(x < 0) x+=width;
    -    while(x > width - 1) x-=width;
    -    while(y < 0) y+=height;
    -    while(y > height - 1) y-=height;
    -    set(x, y, c);
    -  }
    -  
    -  color getpix(int x, int y) {
    -    while(x < 0) x+=width;
    -    while(x > width - 1) x-=width;
    -    while(y < 0) y+=height;
    -    while(y > height - 1) y-=height;
    -    return get(x, y);
    -  }
    -}
    -
    -void mousePressed()
    -{
    -  setup();
    -}
    - - diff --git a/examples/topics/spring.html b/examples/topics/spring.html deleted file mode 100644 index fb6137aeb..000000000 --- a/examples/topics/spring.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - -

    Processing.js

    -

    Spring

    - -

    Click, drag, and release the horizontal bar to start the spring.

    - -

    Original Processing.org Example: Spring
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -// Spring drawing constants for top bar
    -int s_height = 16;     // Height
    -int left = 50;         // Left position
    -int right = 150;       // Right position
    -int max = 100;         // Maximum Y value
    -int min = 20;          // Minimum Y value
    -boolean over = false;  // If mouse over
    -boolean move = false;  // If mouse down and over
    -
    -// Spring simulation constants
    -float M = 0.8;   // Mass
    -float K = 0.2;   // Spring constant
    -float D = 0.92;  // Damping
    -float R = 60;    // Rest position
    -
    -// Spring simulation variables
    -float ps = 60.0; // Position
    -float vs = 0.0;  // Velocity
    -float as = 0;    // Acceleration
    -float f = 0;     // Force
    -
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  rectMode(CORNERS);
    -  noStroke();
    -}
    -
    -void draw() 
    -{
    -  background(102);
    -  updateSpring();
    -  drawSpring();
    -}
    -
    -void drawSpring() 
    -{
    -  // Draw base
    -  fill(0.2);
    -  float b_width = 0.5 * ps + -8;
    -  rect(width/2 - b_width, ps + s_height, width/2 + b_width, 150);
    -
    -  // Set color and draw top bar
    -  if(over || move) { 
    -    fill(255);
    -  } else { 
    -    fill(204);
    -  }
    -  rect(left, ps, right, ps + s_height);
    -}
    -
    -
    -void updateSpring()
    -{
    -  // Update the spring position
    -  if(!move) {
    -    f = -K * (ps - R);    // f=-ky
    -    as = f / M;           // Set the acceleration, f=ma == a=f/m
    -    vs = D * (vs + as);   // Set the velocity
    -    ps = ps + vs;         // Updated position
    -  }
    -  if(abs(vs) < 0.1) {
    -    vs = 0.0;
    -  }
    -
    -  // Test if mouse is over the top bar
    -  if(mouseX > left && mouseX < right && mouseY > ps && mouseY < ps + s_height) {
    -    over = true;
    -  } else {
    -    over = false;
    -  }
    -  
    -  // Set and constrain the position of top bar
    -  if(move) {
    -    ps = mouseY - s_height/2;
    -    if (ps < min) { ps = min; } 
    -    if (ps > max) { ps = max; }
    -  }
    -}
    -
    -void mousePressed() {
    -  if(over) {
    -    move = true;
    -  }
    -}
    -
    -void mouseReleased()
    -{
    -  move = false;
    -}
    - - diff --git a/examples/topics/springs.html b/examples/topics/springs.html deleted file mode 100644 index 6fe0c5760..000000000 --- a/examples/topics/springs.html +++ /dev/null @@ -1,327 +0,0 @@ - - - - - -

    Processing.js

    -

    Springs

    - -

    Move the mouse over one of the circles and click to re-position. -When you release the mouse, it will snap back into position. -Each circle has a slightly different behavior.

    - -

    Original Processing.org Example: Springs
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int num = 3; 
    -Spring[] springs = new Spring[num]; 
    -
    -void setup()
    -{
    -  size(200, 200);
    -  noStroke(); 
    -  smooth();
    -  springs[0] = new Spring( 70, 160,  20, 0.98, 8.0, 0.1, springs, 0); 
    -  springs[1] = new Spring(150, 110,  60, 0.95, 9.0, 0.1, springs, 1); 
    -  springs[2] = new Spring( 40,  70, 120, 0.90, 9.9, 0.1, springs, 2);   
    -}
    -
    -void draw() 
    -{
    -  background(51); 
    -  
    -  for (int i=0; i<num; i++) { 
    -    springs[i].update(); 
    -    springs[i].display(); 
    -  }  
    -}
    -
    -void mousePressed() 
    -{
    -  for (int i=0; i<num; i++) { 
    -    springs[i].pressed(); 
    -  } 
    -}
    -
    -void mouseReleased() 
    -{
    -  for (int i=0; i<num; i++) { 
    -    springs[i].released(); 
    -  } 
    -}
    -
    -class Spring 
    -{ 
    -  // Screen values 
    -  float xpos, ypos;
    -  float tempxpos, tempypos; 
    -  int size = 20; 
    -  boolean isOver = false; 
    -  boolean move = false; 
    -
    -  // Spring simulation constants 
    -  float mass;       // Mass 
    -  float k = 0.2;    // Spring constant 
    -  float damp;       // Damping 
    -  float rest_posx;  // Rest position X 
    -  float rest_posy;  // Rest position Y 
    -
    -  // Spring simulation variables 
    -  //float pos = 20.0; // Position 
    -  float velx = 0.0;   // X Velocity 
    -  float vely = 0.0;   // Y Velocity 
    -  float accel = 0;    // Acceleration 
    -  float force = 0;    // Force 
    -
    -  Spring[] friends;
    -  int me;
    -  
    -  // Constructor
    -  Spring(float x, float y, int s, float d, float m, 
    -         float k_in, Spring[] others, int id) 
    -  { 
    -    xpos = tempxpos = x; 
    -    ypos = tempypos = y;
    -    rest_posx = x;
    -    rest_posy = y;
    -    size = s;
    -    damp = d; 
    -    mass = m; 
    -    k = k_in;
    -    friends = others;
    -    me = id; 
    -  } 
    -
    -  void update() 
    -  { 
    -    if (move) { 
    -      rest_posy = mouseY; 
    -      rest_posx = mouseX;
    -    } 
    -
    -    force = -k * (tempypos - rest_posy);  // f=-ky 
    -    accel = force / mass;                 // Set the acceleration, f=ma == a=f/m 
    -    vely = damp * (vely + accel);         // Set the velocity 
    -    tempypos = tempypos + vely;           // Updated position 
    -
    -    force = -k * (tempxpos - rest_posx);  // f=-ky 
    -    accel = force / mass;                 // Set the acceleration, f=ma == a=f/m 
    -    velx = damp * (velx + accel);         // Set the velocity 
    -    tempxpos = tempxpos + velx;           // Updated position 
    -
    -    
    -    if ((over() || move) && !otherOver() ) { 
    -      isOver = true; 
    -    } else { 
    -      isOver = false; 
    -    } 
    -  } 
    -  
    -  // Test to see if mouse is over this spring
    -  boolean over() {
    -    float disX = tempxpos - mouseX;
    -    float disY = tempypos - mouseY;
    -    if (sqrt(sq(disX) + sq(disY)) < size/2 ) {
    -      return true;
    -    } else {
    -      return false;
    -    }
    -  }
    -  
    -  // Make sure no other springs are active
    -  boolean otherOver() {
    -    for (int i=0; i<num; i++) {
    -      if (i != me) {
    -        if (friends[i].isOver == true) {
    -          return true;
    -        }
    -      }
    -    }
    -    return false;
    -  }
    -
    -  void display() 
    -  { 
    -    if (isOver) { 
    -      fill(153); 
    -    } else { 
    -      fill(255); 
    -    } 
    -    ellipse(tempxpos, tempypos, size, size);
    -  } 
    -
    -  void pressed() 
    -  { 
    -    if (isOver) { 
    -      move = true; 
    -    } else { 
    -      move = false; 
    -    }  
    -  } 
    -
    -  void released() 
    -  { 
    -    move = false; 
    -    rest_posx = xpos;
    -    rest_posy = ypos;
    -  } 
    -}
    - - diff --git a/examples/topics/tickle.html b/examples/topics/tickle.html deleted file mode 100644 index 24bdd0e33..000000000 --- a/examples/topics/tickle.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - -

    Processing.js

    -

    Tickle

    - -

    The word "tickle" jitters when the cursor hovers over. -Sometimes, it can be tickled off the screen.

    - -

    Original Processing.org Example: Tickle
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -PFont font;
    -float x = 33; // X-coordinate of text
    -float y = 60; // Y-coordinate of text
    -
    -void setup() 
    -{
    -  size(200, 200);
    -  font = loadFont("AmericanTypewriter-24.vlw");
    -  textFont(font);
    -  noStroke();
    -}
    -
    -void draw() 
    -{
    -  fill(204, 120);
    -  rect(0, 0, width, height);
    -  fill(0);
    -  // If the cursor is over the text, change the position
    -  if ((mouseX >= x) && (mouseX <= x+55) &&
    -    (mouseY >= y-24) && (mouseY <= y)) {
    -    x += random(-5, 5);
    -    y += random(-5, 5);
    -  }
    -  text("tickle", x, y);
    -}
    - - diff --git a/examples/topics/tileimages.html b/examples/topics/tileimages.html deleted file mode 100644 index c25bf1948..000000000 --- a/examples/topics/tileimages.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - -

    Processing.js

    -

    TileImages

    - -

    Draws an image larger than the screen by tiling it into small sections. -The scaleValue variable sets amount of scaling: 1 is 100%, 2 is 200%, etc.

    - -

    Original Processing.org Example: TileImages
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -int scaleValue = 3;  // Multiplication factor
    -int xoffset = 0;     // x-axis offset
    -int yoffset = 0;     // y-axis offset
    -
    -void setup() 
    -{
    -  size(600, 600);
    -  stroke(0, 100);
    -}
    -
    -void draw() 
    -{
    -  scale(scaleValue);
    -  translate(xoffset *(-width / scaleValue), yoffset *(-height / scaleValue));
    -  line(10, 150, 500, 50);
    -  line(0, 600, 600, 0);
    -  setOffset();
    -}
    -
    -void setOffset() 
    -{
    -  save("lines-" + xoffset + "-" + yoffset + ".jpg");
    -  xoffset++;
    -  if (xoffset == scaleValue) {
    -    xoffset = 0;
    -    yoffset++;
    -    if (yoffset == scaleValue) {
    -      exit();
    -    }
    -  }
    -  background(204);
    -}
    - - diff --git a/examples/topics/tree.html b/examples/topics/tree.html deleted file mode 100644 index 5671a942e..000000000 --- a/examples/topics/tree.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - - -

    Processing.js

    -

    Tree

    - -

    by Daniel Shiffman. - -Renders a simple tree-like structure via recursion -Branching angle calculated as a function of horizontal mouse location

    - -

    Original Processing.org Example: Tree
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -float theta;   
    -void setup() {
    -  size(200,200);
    -  smooth();
    -}
    -
    -void draw() {
    -  background(0);
    -  frameRate(30);
    -  stroke(255);
    -  // Let's pick an angle 0 to 90 degrees based on the mouse position
    -  float a = (mouseX / (float) width) * 90f;
    -  // Convert it to radians
    -  theta = radians(a);
    -  // Start the tree from the bottom of the screen
    -  translate(width/2,height);
    -  // Draw a line 60 pixels
    -  line(0,0,0,-60);
    -  // Move to the end of that line
    -  translate(0,-60);
    -  // Start the recursive branching!
    -  branch(60);
    -
    -}
    -
    -void branch(float h) {
    -  // Each branch will be 2/3rds the size of the previous one
    -  h *= 0.66f;
    -  
    -  // All recursive functions must have an exit condition!!!!
    -  // Here, ours is when the length of the branch is 2 pixels or less
    -  if (h > 2) {
    -    pushMatrix();    // Save the current state of transformation (i.e. where are we now)
    -    rotate(theta);   // Rotate by theta
    -    line(0,0,0,-h);  // Draw the branch
    -    translate(0,-h); // Move to the end of the branch
    -    branch(h);       // Ok, now call myself to draw two new branches!!
    -    popMatrix();     // Whenever we get back here, we "pop" in order to restore the previous matrix state
    -    
    -    // Repeat the same thing, only branch off to the "left" this time!
    -    pushMatrix();
    -    rotate(-theta);
    -    line(0,0,0,-h);
    -    translate(0,-h);
    -    branch(h);
    -    popMatrix();
    -  }
    -}
    - - diff --git a/examples/topics/wolfram.html b/examples/topics/wolfram.html deleted file mode 100644 index dce2a4950..000000000 --- a/examples/topics/wolfram.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - -

    Processing.js

    -

    Wolfram

    - -

    by Daniel Shiffman. - -Simple demonstration of a Wolfram 1-dimensional cellular automata -When the system reaches bottom of the window, it restarts with a new ruleset -Mouse click restarts as well.

    - -

    Original Processing.org Example: Wolfram
    -

    -
    - -
    // All Examples Written by Casey Reas and Ben Fry
    -// unless otherwise stated.
    -CA ca;   // An instance object to describe the Wolfram basic Cellular Automata
    -
    -void setup() {
    -  size(200,200);
    -  frameRate(30);
    -  background(0);
    -  int[] ruleset = {0,1,0,1,1,0,1,0};    // An initial rule system
    -  ca = new CA(ruleset);                 // Initialize CA
    -}
    -
    -void draw() {
    -  ca.render();    // Draw the CA
    -  ca.generate();  // Generate the next level
    -  
    -  if (ca.finished()) {   // If we're done, clear the screen, pick a new ruleset and restart
    -    background(0);
    -    ca.randomize();
    -    ca.restart();
    -  }
    -}
    -
    -void mousePressed() {
    -  background(0);
    -  ca.randomize();
    -  ca.restart();
    -}
    -
    -
    -class CA {
    -
    -  int[] cells;     // An array of 0s and 1s 
    -  int generation;  // How many generations?
    -  int scl;         // How many pixels wide/high is each cell?
    -
    -  int[] rules;     // An array to store the ruleset, for example {0,1,1,0,1,1,0,1}
    -
    -  CA(int[] r) {
    -    rules = r;
    -    scl = 1;
    -    cells = new int[width/scl];
    -    restart();
    -  }
    -  
    -   CA() {
    -    scl = 1;
    -    cells = new int[width/scl];
    -    randomize();
    -    restart();
    -  }
    -  
    -  // Set the rules of the CA
    -  void setRules(int[] r) {
    -    rules = r;
    -  }
    -  
    -  // Make a random ruleset
    -  void randomize() {
    -    for (int i = 0; i < 8; i++) {
    -      rules[i] = int(random(2));
    -    }
    -  }
    -  
    -  // Reset to generation 0
    -  void restart() {
    -    for (int i = 0; i < cells.length; i++) {
    -      cells[i] = 0;
    -    }
    -    cells[cells.length/2] = 1;    // We arbitrarily start with just the middle cell having a state of "1"
    -    generation = 0;
    -  }
    -
    -  // The process of creating the new generation
    -  void generate() {
    -    // First we create an empty array for the new values
    -    int[] nextgen = new int[cells.length];
    -    // For every spot, determine new state by examing current state, and neighbor states
    -    // Ignore edges that only have one neighor
    -    for (int i = 1; i < cells.length-1; i++) {
    -      int left = cells[i-1];   // Left neighbor state
    -      int me = cells[i];       // Current state
    -      int right = cells[i+1];  // Right neighbor state
    -      nextgen[i] = rules(left,me,right); // Compute next generation state based on ruleset
    -    }
    -    // Copy the array into current value
    -    cells = (int[]) nextgen.clone();
    -    generation++;
    -  }
    -  
    -  // This is the easy part, just draw the cells, fill 255 for '1', fill 0 for '0'
    -  void render() {
    -    for (int i = 0; i < cells.length; i++) {
    -      if (cells[i] == 1) fill(255);
    -      else               fill(0);
    -      noStroke();
    -      rect(i*scl,generation*scl, scl,scl);
    -    }
    -  }
    -  
    -  // Implementing the Wolfram rules
    -  // Could be improved and made more concise, but here we can explicitly see what is going on for each case
    -  int rules (int a, int b, int c) {
    -    if (a == 1 && b == 1 && c == 1) return rules[0];
    -    if (a == 1 && b == 1 && c == 0) return rules[1];
    -    if (a == 1 && b == 0 && c == 1) return rules[2];
    -    if (a == 1 && b == 0 && c == 0) return rules[3];
    -    if (a == 0 && b == 1 && c == 1) return rules[4];
    -    if (a == 0 && b == 1 && c == 0) return rules[5];
    -    if (a == 0 && b == 0 && c == 1) return rules[6];
    -    if (a == 0 && b == 0 && c == 0) return rules[7];
    -    return 0;
    -  }
    -  
    -  // The CA is done if it reaches the bottom of the screen
    -  boolean finished() {
    -    if (generation > height/scl) {
    -       return true;
    -    } else {
    -       return false;
    -    }
    -  }
    -}
    - - diff --git a/fonts/Biotyp.svg b/fonts/Biotyp.svg deleted file mode 100644 index 6b4508447..000000000 --- a/fonts/Biotyp.svg +++ /dev/null @@ -1,855 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/Browser.js b/lib/Browser.js new file mode 100755 index 000000000..7d7c64b30 --- /dev/null +++ b/lib/Browser.js @@ -0,0 +1,868 @@ +/** + + Custom browser faking object for code-validation + in automated test settings. + +**/ + +module.exports = (function fakeBrowser() { + // Processing works with a canvas and the DOM, fake it. + // This is enough of the DOM to allow the parser work. + var __empty_func__ = function () {}; + var __elem_func__ = function() { return elem; }; + + var navigator = { useragent: true }; + + // generic HTML element + var createElement = function(tag) { + return { + localName: tag, + style: {}, + setAttribute: __empty_func__ + }; + }; + + var HTMLCanvasElement = function() {}; + + // HTML canvas element + var Canvas = function() { + this.attachEvent = __empty_func__; + this.addEventListener = __empty_func__; + this.appendChild = __elem_func__; + this.removeChild = __empty_func__; + this.childNodes = { length: 0 }; + this.toDataURL = __empty_func__; + this.localName = "canvas"; + this.width = 100; + this.height = 100; + this.getContext = function() { + return { + translate: __empty_func__, + attachEvent: __empty_func__, + fillRect: __empty_func__, + strokeRect: __empty_func__, + fillText: __empty_func__, + measureText: function() { return {width:1}; }, + clearRect: __empty_func__, + beginPath: __empty_func__, + moveTo: __empty_func__, + lineTo: __empty_func__, + rect: __empty_func__, + save: __empty_func__, + stroke: __empty_func__, + fill: __empty_func__, + rotate: __empty_func__, + closePath: __empty_func__, + arc: __empty_func__, + scale: __empty_func__, + restore: __empty_func__, + bezierCurveTo: __empty_func__, + viewport: __empty_func__, + clearColor: __empty_func__, + clear: __empty_func__, + enable: __empty_func__, + createShader: __empty_func__, + shaderSource: __empty_func__, + compileShader: __empty_func__, + getShaderParameter: function() { return true; }, + getShaderInfoLog: __empty_func__, + createProgram: __empty_func__, + attachShader: __empty_func__, + linkProgram: __empty_func__, + getProgramParameter: function() { return true; }, + useProgram: __empty_func__, + createBuffer: __empty_func__, + bindBuffer: __empty_func__, + bufferData: __empty_func__, + blendFunc: __empty_func__, + getAttribLocation: __empty_func__, + vertexAttribPointer: __empty_func__, + enableVertexAttribArray: __empty_func__, + getUniformLocation: __empty_func__, + uniform1f: __empty_func__, + uniform2f: __empty_func__, + uniform3f: __empty_func__, + uniform4f: __empty_func__, + uniformfv: __empty_func__, + uniform2fv: __empty_func__, + uniform3fv: __empty_func__, + uniform1i: __empty_func__, + uniform2i: __empty_func__, + uniform3i: __empty_func__, + uniform4i: __empty_func__, + getImageData: function() { return {width:1, height:1, data:[1,2,3,4]}; }, + createImageData: function() { return {width:1, height:1, data:[1,2,3,4]}; }, + drawImage: __empty_func__, + drawElements: __empty_func__, + putImageData: __empty_func__, + lineWidth: __empty_func__, + disable: __empty_func__, + drawArrays: __empty_func__, + polygonOffset: __empty_func__, + createTexture: __empty_func__, + texImage2D: __empty_func__, + texParameteri: __empty_func__, + generateMipmap: __empty_func__, + uniformMatrix4fv: __empty_func__, + uniform4fv: __empty_func__, + disableVertexAttribArray: __empty_func__, + bindTexture: __empty_func__, + setTransform: __empty_func__ + }; + }; + this.style = { + setProperty: __empty_func__ + }; + this.__attributes = { "data-processing-sources" : "test.pjs" }; + this.hasAttribute = function(name) { return this.__attributes.hasOwnProperty(name.toLowerCase()); }; + this.getAttribute = function(name) { return this.__attributes[name.toLowerCase()]; }; + this.setAttribute = function(name, value) { this.__attributes[name.toLowerCase()] = value; }; + }; + Canvas.prototype = new HTMLCanvasElement(); + + var canvas = new Canvas(); + + var HTMLImageElement = __empty_func__; + + var document = { + fake: true, + attachEvent: __empty_func__, + head: { + appendChild: __elem_func__, + removeChild: __empty_func__ + }, + body: { + appendChild: __elem_func__, + removeChild: __empty_func__, + style: { + cursor: {} + } + }, + defaultView: { + getComputedStyle: function() { + return { getPropertyValue: function() { return ""; } }; + } + }, + appendChild: __elem_func__, + removeChild: __empty_func__, + getElementById: __empty_func__, + getElementsByTagName: function() { return [canvas]; }, + createElement: function (tag) { + if (tag === "canvas") return new Canvas(); + return createElement(tag); + }, + addEventListener: __empty_func__, + documentElement: { + appendChild: __elem_func__, + removeChild: __empty_func__, + style: { + paddingBottom: 0 + }, + insertBefore: __empty_func__ + }, + createTextNode: __empty_func__ + }; + + var elem = { + appendChild: __elem_func__, + removeChild: __empty_func__, + style: {} + }; + + var addEventListener = __empty_func__; + var XMLHttpRequest = __empty_func__; + var setInterval = __empty_func__; + var clearInterval = __empty_func__; + + var Image = __empty_func__; + + var localStorage = __empty_func__; + + // The XML parser is designed only for parsing of + // simple XML documents (for unit testing purpose). + function DOMParser() { + // parser + function parseXml(s, sink) { + var i = 0, scopes = [{space:"default", xmlns:"", namespaces: {"xmlns":"http://www.w3.org/2000/xmlns/", "xml":"http://www.w3.org/XML/1998/namespace"}}]; + + function trim(s) { + return s.replace(/^\s+/, "").replace(/\s+$/, ""); + } + function resolveEntities(s) { + return s.replace(/&([^;]+);/g, function(all, entity) { + if (entity.substring(0, 2) === "#x") { + return String.fromCharCode(parseInt(entity.substring(2), 16)); + } else if(entity.substring(0,1) === "#") { + return String.fromCharCode(parseInt(entity.substring(1), 10)); + } + switch (entity) { + case "lt": return "<"; + case "gt": return ">"; + case "amp": return "&"; + } + throw "Unknown entity: " + entity; + }); + } + function isWhitespacePreserved() { + for (var j = scopes.length - 1; j >= 0; --j) { + if (scopes[j].space === "preserve") { + return true; + } + } + return false; + } + function lookupDefaultNs() { + for (var j = scopes.length - 1; j >= 0; --j) { + if (scopes[j].hasOwnProperty("xmlns")) { + return scopes[j].xmlns; + } + } + } + function lookupNs(prefix) { + for (var j = scopes.length - 1; j >= 0; --j) { + if (scopes[j].namespaces.hasOwnProperty(prefix)) { + return scopes[j].namespaces[prefix]; + } + } + throw "Unknow namespace: " + prefix; + } + function getName(name, resolveDefaultNs) { + var j = name.indexOf(":"); + if (j >= 0) { + return {name:name.substring(j + 1), prefix: name.substring(0,j), namespace: lookupNs(name.substring(0,j))}; + } else if(resolveDefaultNs) { + return {name:name, prefix: "", namespace: lookupDefaultNs()}; + } else { + return {name:name, prefix: "", namespace: ""}; + } + } + function isWhitespace(s, index) { + var ch = s.charCodeAt(index); + return ch == 10 || ch == 13 || ch == 9 || ch == 32; + } + function parseContent(s, start) { + var pos = start, name, attributes = []; + function skipWs() { + while (pos < s.length && isWhitespace(s, pos)) { + ++pos; + } + } + while (pos < s.length && !isWhitespace(s, pos) && s.charAt(pos) !== ">") { + ++pos; + } + name = s.substring(start, pos); + skipWs(); + while (pos < s.length && s.charAt(pos) !== ">" && + s.charAt(pos) !== "/" && s.charAt(pos) !== "?") { + skipWs(); + var attrName = "", attrValue = ""; + while (pos < s.length && !isWhitespace(s, pos) && s.charAt(pos) !== "=") { + attrName += s.charAt(pos); + ++pos; + } + skipWs(); + if (s.charAt(pos) !== "=") throw "'=' expected"; + ++pos; + skipWs(); + var attrEndChar = s.charAt(pos); + if (attrEndChar !== "\"" && attrEndChar !== "\'" ) throw "Quote expected"; + var attrEndIndex = s.indexOf(attrEndChar, ++pos); + if (attrEndIndex < 0) throw "Unexpected EOF[6]"; + attrValue = s.substring(pos, attrEndIndex); + attributes.push({name: attrName, value: resolveEntities(attrValue)}); + pos = attrEndIndex + 1; + skipWs(); + } + return {name: name, attributes: attributes, parsed: pos - start}; + } + while (i < s.length) { + var ch = s.charAt(i); + var j = i; + var content; + if (ch === "<") { + ++j; + var ch2 = s.charAt(j), q, name; + switch (ch2) { + case "/": + ++j; + q = s.indexOf(">", j); if(q < 0) { throw "Unexpected EOF[1]"; } + name = getName(s.substring(j,q), true); + sink.endElement(name); + scopes.pop(); + j = q + 1; + break; + case "?": + ++j; + content = parseContent(s, j); + if (s.substring(j + content.parsed, j + content.parsed + 2) != "?>") { + throw "Unexpected EOF[2]"; + } + sink.pi(content.name, content.attributes); + j += content.parsed + 2; + break; + case "!": + if (s.substring(j + 1, j + 3) === "--") { + q = s.indexOf("-->", j + 3); if(q < 0) { throw "Unexpected EOF[3]"; } + sink.comment(s.substring(j + 3, q)); + j = q + 3; + } else if (s.substring(j + 1, j + 8) === "[CDATA[") { + q = s.indexOf("]]>", j + 8); if(q < 0) { throw "Unexpected EOF[4]"; } + sink.cdata(s.substring(j + 8, q)); + j = q + 3; + } else if (s.substring(j + 1, j + 8) === "DOCTYPE") { + var q2 = s.indexOf("[", j + 8), complexDoctype = false; + q = s.indexOf(">", j + 8); if(q < 0) { throw "Unexpected EOF[5]"; } + if (q2 > 0 && q > q2) { + q = s.indexOf("]>", j + 8); if(q < 0) { throw "Unexpected EOF[7]"; } + complexDoctype = true; + } + var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0)); + sink.doctype(doctypeContent); + // XXX pull entities ? + j = q + (complexDoctype ? 2 : 1); + } else { + throw "Unknown !tag"; + } + break; + default: + content = parseContent(s, j); + var isClosed = false; + if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") { + isClosed = true; + } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") { + throw "Unexpected EOF[2]"; + } + var scope = {namespaces:[]}; + for (q = 0; q < content.attributes.length; ++q) { + if (content.attributes[q].name.substring(0, 6) === "xmlns:") { + scope.namespaces[content.attributes[q].name.substring(6)] = trim(content.attributes[q].value); + } else if (content.attributes[q].name === "xmlns") { + scope.xmlns = trim(content.attributes[q].value); + } else if (content.attributes[q].name.substring(0, 4) === "xml:") { + scope[content.attributes[q].name.substring(4)] = trim(content.attributes[q].value); + } else if (content.attributes[q].name.substring(0, 3) === "xml") { + throw "Invalid xml attribute"; + } + } + scopes.push(scope); + var attributes = []; + for (q = 0; q < content.attributes.length; ++q) { + attributes.push({name: getName(content.attributes[q].name, false), value: content.attributes[q].value}); + } + sink.beginElement(getName(content.name, true), attributes, isClosed); + j += content.parsed + (isClosed ? 2 : 1); + if (isClosed) scopes.pop(); + break; + } + } else { + do { + if (++j >= s.length) break; + } while(s.charAt(j) !== "<"); + var text = s.substring(i, j); + var isWs = text.replace(/^\s+/, "").length === 0; + if (!isWs || isWhitespacePreserved()) { + sink.text(resolveEntities(text), isWs); + } + } + i = j; + } + } + // end of parser + + var implementation = this; + + function NodeList(init) { + var nodes = []; + if (init) { + nodes = nodes.concat(init); + } + nodes.item = function(index) { return nodes[index]; }; + return nodes; + } + function NamedNodeMap(owner) { + var nodes = []; + nodes.item = function(index) { return nodes[index]; }; + nodes.getNamedItem = function(name) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].name === name) return nodes[i]; + } + return null; + }; + nodes.setNamedItem = function(arg) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].name === arg.name) { + var old = nodes[i]; + nodes[i] = arg; + old.ownerElement = null; + return old; + } + } + arg.ownerElement = owner; + nodes.push(arg); + return null; + }; + nodes.removeNamedItem = function(name) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].name === name) { + var old = nodes[i]; + nodes.splice(i, 1); + old.ownerElement = null; + return old; + } + } + return null; + }; + nodes.getNamedItemNS = function(namespaceURI, localName) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].localName === localName && + nodes[i].namespaceURI === namespaceURI) return nodes[i]; + } + return null; + }; + nodes.setNamedItemNS = function(arg) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].localName === arg.localName && + nodes[i].namespaceURI === arg.namespaceURI) { + var old = nodes[i]; + nodes[i] = arg; + old.ownerElement = null; + return old; + } + } + arg.ownerElement = owner; + nodes.push(arg); + return null; + }; + nodes.removeNamedItemNS = function(namespaceURI, localName) { + for (var i = 0; i < nodes.length; ++i) { + if (nodes[i].localName === localName && + nodes[i].namespaceURI === namespaceURI) { + var old = nodes[i]; + nodes.splice(i, 1); + old.ownerElement = null; + return old; + } + } + return null; + }; + return nodes; + } + function Node() { + this.childNodes = new NodeList(); + } + Node.ELEMENT_NODE = 1; + Node.ATTRIBUTE_NODE = 2; + Node.TEXT_NODE = 3; + Node.CDATA_SECTION_NODE = 4; + Node.ENTITY_REFERENCE_NODE = 5; + Node.ENTITY_NODE = 6; + Node.PROCESSING_INSTRUCTION_NODE = 7; + Node.COMMENT_NODE = 8; + Node.DOCUMENT_NODE = 9; + Node.DOCUMENT_TYPE_NODE = 10; + Node.DOCUMENT_FRAGMENT_NODE = 11; + Node.NOTATION_NODE = 12; + Node.prototype.nodeName = null; + Node.prototype.nodeValue = null; + Node.prototype.nodeType = 0; + Node.prototype.parentNode = null; + //Node.prototype.childNodes = []; + Node.prototype.firstChild = null; + Node.prototype.lastChild = null; + Node.prototype.previousSibling = null; + Node.prototype.nextSibling = null; + Node.prototype.ownerDocument = null; + Node.prototype.attributes = null; + Node.prototype.onChildNodesChanged = function() {}; + // XXX newChild in tree remove first + // XXX document fragment + Node.prototype.insertBefore = function(newChild, refChild) { + if (!refChild) { + return this.appendChild(newChild); + } + var i = 0; + while (i < this.childNodes.length && this.childNodes[i] != refChild) { + ++i; + } + if (!this.childNodes[i]) throw "Ref child not found"; + newChild.parentNode = this; + newChild.previousSibling = refChild.previousSibling; + if (newChild.previousSibling) newChild.previousSibling.nextSibling = newChild; + newChild.nextSibling = refChild; + refChild.previousSibling = newChild; + if (this.firstChild == refChild) this.firstChild = newChild; + this.childNodes.splice(i,0,newChild); + this.onChildNodesChanged(); + return newChild; + }; + Node.prototype.replaceChild = function(newChild, oldChild) { + var i = 0; + while (i < this.childNodes.length && this.childNodes[i] != oldChild) { + ++i; + } + if (!this.childNodes[i]) throw "Old child not found"; + newChild.parentNode = this; + newChild.previousSibling = oldChild.previousSibling; + if (newChild.previousSibling) newChild.previousSibling.nextSibling = newChild; + newChild.nextSibling = oldChild.nextSibling; + if (newChild.nextSibling) newChild.nextSibling.previousSibling = newChild; + oldChild.parentNode = null; + oldChild.previousSibling = null; + oldChild.nextSibling = null; + if (this.lastChild == oldChild) this.lastChild = newChild; + if (this.firstChild == oldChild) this.firstChild = newChild; + this.childNodes[i] = newChild; + this.onChildNodesChanged(); + return oldChild; + }; + Node.prototype.removeChild = function(oldChild) { + var i = 0; + while (i < this.childNodes.length && this.childNodes[i] != oldChild) { + ++i; + } + if (!this.childNodes[i]) throw "Old child not found"; + if (this.lastChild == oldChild) this.lastChild = oldChild.previousSibling; + if (this.firstChild == oldChild) this.firstChild = oldChild.nextSibling; + if (oldChild.nextSibling) oldChild.nextSibling.previousSibling = oldChild.previousSibling; + if (oldChild.previousSibling) oldChild.previousSibling.nextSibling = oldChild.nextSibling; + oldChild.parentNode = null; + oldChild.previousSibling = null; + oldChild.nextSibling = null; + this.childNodes.splice(i, 1); + this.onChildNodesChanged(); + return oldChild; + }; + Node.prototype.appendChild = function(newChild) { + newChild.parentNode = this; + var lastChild = this.lastChild; + if (lastChild) { + newChild.nextSibling = lastChild.nextSibling; + if (newChild.nextSibling) newChild.nextSibling.previousSibling = newChild; + newChild.previousSibling = lastChild; + lastChild.nextSibling = newChild; + } else { + this.firstChild = newChild; + newChild.previousSibling = null; + newChild.nextSibling = null; + } + this.lastChild = newChild; + this.childNodes.push(newChild); + this.onChildNodesChanged(); + return newChild; + }; + Node.prototype.hasChildNodes = function() { + return this.childNodes.length > 0; + }; + Node.prototype.cloneNode = function(deep) { + throw "Not implemented"; + }; + Node.prototype.normalize = function() { + var lastWasText = false; + for (var i = 0; i < this.childNodes.length; ++i) { + if (this.childNodes[i].nodeType == Node.ELEMENT_NODE) { + this.childNodes[i].normalize(); + } + if (this.childNodes[i].nodeType == Node.TEXT_NODE) { + if (lastWasText) { + this.childNodes[i - 1].appendData(this.childNodes[i].data); + this.removeChild(this.childNodes[i]); + --i; + } + lastWasText = true; + } else { + lastWasText = false; + } + } + }; + Node.prototype.isSupported = function(feature, version) { + return false; + }; + Node.prototype.namespaceURI = null; + Node.prototype.prefix = null; + Node.prototype.localName = null; + Node.prototype.hasAttributes = function() { + return this.attributes.length > 0; + }; + + Node.prototype.textContent = ""; + + function Document() { + var node = new Node(); + node.nodeType = Node.DOCUMENT_NODE; + node.doctype = null; + node.implementation = implementation; + node.documentElement = null; + node.createElement = function(tagName) { + return node.createElementNS("", tagName); + }; + node.createTextNode = function(data, nodeTypeOverride) { + var text = new Node(); + text.nodeType = (nodeTypeOverride ? nodeTypeOverride : Node.TEXT_NODE); + text.ownerDocument = node; + text.nodeValue = data; + Object.defineProperty(text, "data", { + get: function() { return this.nodeValue; }, + set: function(value) { this.nodeValue = value; }, + enumerable: true + }); + + text.data = data; + text.length = data.length; + text.appendData = function(arg) { + this.nodeValue += arg; + }; + + Object.defineProperty(text, "textContent", { + get: function() { return this.nodeValue; }, + enumerable: true + }); + // TODO appendData, substringData, etc. + return text; + }; + node.createCDATASection = function(data) { + return this.createTextNode(data, Node.CDATA_SECTION_NODE); + }; + node.createAttribute = function(name) { + return node.createAttributeNS("", name); + }; + node.getElementsByTagName = function(tagName) { + return node.getElementsByTagNameNS("", tagName); + }; + node.createElementNS = function(namespaceURI, qualifiedName) { + var element = new Node(); + element.nodeType = Node.ELEMENT_NODE; + element.ownerDocument = node; + element.attributes = new NamedNodeMap(element); + element.tagName = qualifiedName; + element.nodeName = qualifiedName; + var i = qualifiedName.indexOf(":"); + element.localName = i < 0 ? qualifiedName : qualifiedName.substring(i + 1); + element.prefix = i < 0 ? "" : qualifiedName.substring(0, i); + element.namespaceURI = namespaceURI; + element.getAttributeNode = function(name) { + return this.attributes.getNamedItem(name); + }; + element.getAttribute = function(name) { + var attr = this.getAttributeNode(name); + return attr ? attr.value : ""; + }; + element.setAttributeNode = function(newAttr) { + return this.attributes.setNamedItem(newAttr); + }; + element.setAttribute = function(name, value) { + var attr = this.ownerDocument.createAttribute(name); + attr.value = value || ""; + this.setAttributeNode(attr); + }; + element.removeAttribute = function(name) { + this.attributes.removeNamedItem(name); + }; + element.removeAttributeNode = function(oldAttr) { + return this.attributes.removeNamedItem(oldAttr.name); + }; + element.hasAttribute = function(name) { + return !!this.attributes.getNamedItem(name); + }; + element.getAttributeNodeNS = function(namespaceURI, localName) { + return this.attributes.getNamedItemNS(namespaceURI, localName); + }; + element.getAttributeNS = function(namespaceURI, localName) { + var attr = this.getAttributeNodeNS(namespaceURI, localName); + return attr ? attr.value : ""; + }; + element.setAttributeNodeNS = function(newAttr) { + return this.attributes.setNamedItemNS(newAttr); + }; + element.setAttribute = function(namespaceURI, qualifiedName) { + var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName); + attr.value = value || ""; + this.setAttributeNodeNS(attr); + }; + element.removeAttributeNS = function(namespaceURI, localName) { + this.attributes.removeNamedItemNS(namespaceURI, localName); + }; + element.removeAttributeNode = function(oldAttr) { + return this.attributes.removeNamedItemNS(oldAttr.namespaceNS, oldAttr.localName); + }; + element.hasAttributeNS = function(namespaceURI, localName) { + return !!this.attributes.getNamedItemNS(namespaceURI, localName); + }; + element.getElementsByTagName = function(name) { + return this.getElementsByTagNameNS("", name); + }; + element.getElementsByTagNameNS = function(namespaceURI, localName) { + var q = [this]; + var result = []; + while (q.length > 0) { + var current = q.shift(); + if (current.nodeType == Node.ELEMENT_NODE) { + if (current.namespaceURI == namespaceURI && current.localName == localName) { + result.push(current); + } + + for (var i = 0; i < current.childNodes.length; ++i) { + q.push(current.childNodes[i]); + } + } + } + return new NodeList(result); + }; + + Object.defineProperty(element, "textContent", { + get: function() { + var result = ""; + for (var i = 0; i < this.childNodes.length; ++i) { + result += this.childNodes[i].textContent; + } + return result; + }, + enumerable: true + }); + + return element; + }; + node.createAttributeNS = function(namespaceURI, qualifiedName) { + var attr = new Node(); + attr.nodeType = Node.ATTRIBUTE_NODE; + attr.ownerDocument = node; + attr.name = qualifiedName; + attr.nodeName = qualifiedName; + var i = qualifiedName.indexOf(":"); + attr.localName = i < 0 ? qualifiedName : qualifiedName.substring(i + 1); + attr.prefix = i < 0 ? "" : qualifiedName.substring(0, i); + attr.namespaceURI = namespaceURI; + attr.specified = true; + attr.nodeValue = null; + Object.defineProperty(attr, "value", { + get: function() { return this.nodeValue; }, + set: function(value) { this.nodeValue = value; }, + enumerable: true + }); + return attr; + }; + node.getElementsByTagNameNS = function(namespaceURI, localName) { + if (!this.documentElement) return null; + return this.documentElement.getElementsByTagNameNS(namespaceURI, localName); + }; + node.getElementById = function(elementId) { + if (this.documentElement) return null; + var q = [this.documentElement]; + while (q.length > 0) { + var current = q.shift(); + if (current.nodeType == Node.ELEMENT_NODE) { + if (current.getAttribute("id") == elementId) return current; + + for (var i = 0; i < current.childNodes.length; ++i) { + q.push(current.childNodes[i]); + } + } + } + return null; + }; + node.onChildNodesChanged = function() { + this.documentElement = null; + for (var i = 0; i < this.childNodes.length; ++i) { + if (this.childNodes[i].nodeType == Node.ELEMENT_NODE) { + this.documentElement = this.childNodes[i]; + } + } + }; + + Object.defineProperty(node, "textContent", { + get: function() { + return this.documentElement.textContent; + }, + enumerable: true + }); + return node; + } + + function buildQualifiedName(name) { + return name.prefix ? name.prefix + ":" + name.name : name.name; + } + + this.parseFromString = function(s, mimeType) { + var document = new Document(); + var elementsStack = [], currentElement = document; + parseXml(s, { + beginElement: function(name, attrs, isEmpty) { + var parent = currentElement; + elementsStack.push(parent); + currentElement = document.createElementNS(name.namespace, buildQualifiedName(name)); + for (var i = 0; i < attrs.length; ++i) { + var attr = document.createAttributeNS(attrs[i].name.namespace, + buildQualifiedName(attrs[i].name)); + attr.value = attrs[i].value; + currentElement.attributes.setNamedItem(attr); + } + parent.appendChild(currentElement); + if (isEmpty) { + currentElement = elementsStack.pop(); + } + }, + endElement: function(name) { + currentElement = elementsStack.pop(); + }, + text: function(text, isWhitespace) { + var node = document.createTextNode(text); + currentElement.appendChild(node); + }, + cdata: function(text) { + var node = document.createCDATASection(text); + currentElement.appendChild(node); + }, + comment: function(text) { }, + pi: function(name, attrs) { }, + doctype: function(text) { } + }); + document.normalize(); + return document; + }; + } + + var window = { + appendChild: __elem_func__, + removeChild: __empty_func__, + addEventListener: __empty_func__, + setInterval: __empty_func__, + DOMParser: DOMParser, + open: __empty_func__, + document: document, + createElement: function() { return elem; }, + setTimeout: __empty_func__, + clearInterval: __empty_func__, + localStorage: {}, + // required object types + XMLHttpRequest: __empty_func__, + HTMLImageElement: HTMLImageElement, + HTMLCanvasElement: HTMLCanvasElement + }; + + window.XMLHttpRequest.prototype.open = __empty_func__; + window.XMLHttpRequest.prototype.send = __empty_func__; + window.XMLHttpRequest.prototype.responseText = "some text"; + window.XMLHttpRequest.prototype.setRequestHeader = __empty_func__; + window.XMLHttpRequest.prototype.overrideMimeType = __empty_func__; + window.XMLHttpRequest.prototype.status = 200; + + // and return our fake browser object + return { + isDomPresent: false, + navigator: navigator, + window: window, + document: document, + ajax: function(url) { + var xhr = new XMLHttpRequest(); + xhr.open("GET", url, false); + if (xhr.overrideMimeType) { + xhr.overrideMimeType("text/plain"); + } + xhr.setRequestHeader("If-Modified-Since", "Fri, 01 Jan 1960 00:00:00 GMT"); + xhr.send(null); + // failed request? + if (xhr.status !== 200 && xhr.status !== 0) { throw ("XMLHttpRequest failed, status code " + xhr.status); } + return xhr.responseText; + } + }; + +}()); diff --git a/lib/TestHarness.js b/lib/TestHarness.js new file mode 100755 index 000000000..8ad0e97ad --- /dev/null +++ b/lib/TestHarness.js @@ -0,0 +1,129 @@ +module.exports = (function testHarness() { + + // compareArrays() used under MIT License -- based on http://code.google.com/p/jqcommons/ + Array.prototype.compareArrays = function(arr, eps) { + if (this.length != arr.length) + return false; + + for (var i = 0; i < arr.length; i++) { + if (this[i].compareArrays) { // nested array? + if (!this[i].compareArrays(arr[i], eps)) + return false; + else + continue; + } + if ((!eps && this[i] != arr[i]) || (eps && (Math.abs(this[i] - arr[i]) > eps))) + return false; + } + return true; + }; + + var UnitTests = { + _passCount: 0, + _failCount: 0, + _curTest: "", + _checkCount: 0, + + prep: function(testName) { + this._passCount = 0; + this._failCount = 0; + this._checkCount = 0; + this._curTest = testName; + }, + + _print: function(msg) { + console.log(" [" + this._curTest + "/" + this._checkCount + "] " + msg); + }, + + _pass: function() { + this._passCount++; + }, + + _fail: function(msg) { + this._print(msg); + this._failCount++; + }, + + _checkEqual: function(a, b) { + this._checkCount++; + // If user passed a third arg (Epsilon) use it for ~= + var eps = arguments[2] || 0; + if(typeof a === "object" && typeof b === "object" && a.constructor === b.constructor && "toArray" in a && "toArray" in b) { + a = a.toArray(); b = b.toArray(); + } + if (a.compareArrays && b.compareArrays) { + if (a.compareArrays(b, eps)) + this._pass(); + else + this._fail(a + " != " + b); + } else { + if ((!eps && a != b) || (eps && (Math.abs(a - b) > eps))) + this._fail(a + " != " + b); + else + this._pass(); + } + }, + + _checkNotEqual: function(a, b) { + if (a.compareArrays && b.compareArrays) { + if (a.compareArrays(b)) + this._fail(a + " == " + b); + else + this._pass(); + } else { + if (a == b) + this._fail(a + " == " + b); + else + this._pass(); + } + }, + + _checkIsNaN: function(a) { + if (a != a) // better check than isNaN() + this._pass(); + else + this._fail(a + " expected to be NaN."); + }, + + _checkIsNull: function(a) { + if (a === null || a === undefined) + this._pass(); + else + this._fail(a + " expected to be null (or undefined)."); + }, + + _checkTrue: function(a) { + this._checkEqual(!!a, true); + }, + + _checkFalse: function(a) { + this._checkEqual(!!a, false); + }, + + _checkThrows: function(f) { + var shouldThrow = (arguments.length === 2) ? !!arguments[1] : true, + result; + try { + f(); + result = shouldThrow ? this._fail(f + " didn't throw as expected.") : this._pass(); + } catch (e) { + result = shouldThrow ? this._pass() : this._fail(f + " should not have thrown exception, but did."); + } + }, + + _printTestSummary: function() { + this._print('TEST-SUMMARY: ' + this._passCount + '/' + this._failCount); + try + { + var numbers = []; + for(var i in __pjsCalledLines) { + if(0|i > 0 && __pjsCalledLines[i]) { numbers.push(i); } + } + this._print('LINES-CALLED: ' + numbers.join(",")); + } catch(e) {} + } + }; + + return UnitTests; + +}()); diff --git a/minify.js b/minify.js new file mode 100755 index 000000000..4c802b688 --- /dev/null +++ b/minify.js @@ -0,0 +1,17 @@ +var fs = require("fs"), + compressor = require("node-minify"); + +fs.readFile("processing.js", "utf8", function (err, data) { + if (err) { + return console.error("Error reading processing.js", err); + } + var fileSize = (new Buffer(data,"utf8")).length; + if (fileSize > 0) { + console.log("Minifying to processing.min.js"); + new compressor.minify({ + type: 'gcc', + fileIn: 'processing.js', + fileOut: 'processing.min.js' + }); + } +}); diff --git a/package.json b/package.json new file mode 100755 index 000000000..6552d9ed4 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "Processing.js", + "version": "1.5.0", + "dependencies": { + "argv": "~0.0.2", + "browserify": "~2.18.1", + "express": "~3.3.3", + "node-minify": "~0.7.3", + "nunjucks": "~0.1.9", + "open": "0.0.3" + }, + "devDependencies": { + "grunt": "~0.4.1", + "grunt-cli": "~0.1.8", + "grunt-contrib-jshint": "~0.4.3" + } +} diff --git a/processing.js b/processing.js index e81f681d7..93301758c 100755 --- a/processing.js +++ b/processing.js @@ -1,18 +1,12 @@ - -(function(window, document, Math, undef) { - - var nop = function(){}; - - var debug = (function() { - if ("console" in window) { - return function(msg) { - window.console.log('Processing.js: ' + msg); - }; - } - return nop; - }()); - - var ajax = function(url) { +;(function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s= 9 && !document.doctype) { - throw("The doctype directive is missing. The recommended doctype in Internet Explorer is the HTML5 doctype: "); - } + /** + * Calculates the absolute value (magnitude) of a number. The absolute value of a number is always positive. + * + * @param {int|float} value int or float + * + * @returns {int|float} + */ + p.abs = Math.abs; - var Float32Array = setupTypedArray("Float32Array", "WebGLFloatArray"), - Int32Array = setupTypedArray("Int32Array", "WebGLIntArray"), - Uint16Array = setupTypedArray("Uint16Array", "WebGLUnsignedShortArray"), - Uint8Array = setupTypedArray("Uint8Array", "WebGLUnsignedByteArray"); + /** + * Calculates the closest int value that is greater than or equal to the value of the parameter. + * For example, ceil(9.03) returns the value 10. + * + * @param {float} value float + * + * @returns {int} + * + * @see floor + * @see round + */ + p.ceil = Math.ceil; - /* Browsers fixes end */ + /** + * Returns Euler's number e (2.71828...) raised to the power of the value parameter. + * + * @param {int|float} value int or float: the exponent to raise e to + * + * @returns {float} + */ + p.exp = Math.exp; /** - * NOTE: in releases we replace symbolic PConstants.* names with their values. - * Using PConstants.* in code below is fine. See tools/rewrite-pconstants.js. - */ - var PConstants = { - X: 0, - Y: 1, - Z: 2, + * Calculates the closest int value that is less than or equal to the value of the parameter. + * + * @param {int|float} value the value to floor + * + * @returns {int|float} + * + * @see ceil + * @see round + */ + p.floor = Math.floor; - R: 3, - G: 4, - B: 5, - A: 6, + /** + * Calculates the natural logarithm (the base-e logarithm) of a number. This function + * expects the values greater than 0.0. + * + * @param {int|float} value int or float: number must be greater then 0.0 + * + * @returns {float} + */ + p.log = Math.log; - U: 7, - V: 8, + /** + * Facilitates exponential expressions. The pow() function is an efficient way of + * multiplying numbers by themselves (or their reciprocal) in large quantities. + * For example, pow(3, 5) is equivalent to the expression 3*3*3*3*3 and pow(3, -5) + * is equivalent to 1 / 3*3*3*3*3. + * + * @param {int|float} num base of the exponential expression + * @param {int|float} exponent power of which to raise the base + * + * @returns {float} + * + * @see sqrt + */ + p.pow = Math.pow; - NX: 9, - NY: 10, - NZ: 11, + /** + * Calculates the integer closest to the value parameter. For example, round(9.2) returns the value 9. + * + * @param {float} value number to round + * + * @returns {int} + * + * @see floor + * @see ceil + */ + p.round = Math.round; + /** + * Calculates the square root of a number. The square root of a number is always positive, + * even though there may be a valid negative root. The square root s of number a is such + * that s*s = a. It is the opposite of squaring. + * + * @param {float} value int or float, non negative + * + * @returns {float} + * + * @see pow + * @see sq + */ - EDGE: 12, + p.sqrt = Math.sqrt; - // Stroke - SR: 13, - SG: 14, - SB: 15, - SA: 16, + // Trigonometry + /** + * The inverse of cos(), returns the arc cosine of a value. This function expects the + * values in the range of -1 to 1 and values are returned in the range 0 to PI (3.1415927). + * + * @param {float} value the value whose arc cosine is to be returned + * + * @returns {float} + * + * @see cos + * @see asin + * @see atan + */ + p.acos = Math.acos; - SW: 17, + /** + * The inverse of sin(), returns the arc sine of a value. This function expects the values + * in the range of -1 to 1 and values are returned in the range -PI/2 to PI/2. + * + * @param {float} value the value whose arc sine is to be returned + * + * @returns {float} + * + * @see sin + * @see acos + * @see atan + */ + p.asin = Math.asin; - // Transformations (2D and 3D) - TX: 18, - TY: 19, - TZ: 20, + /** + * The inverse of tan(), returns the arc tangent of a value. This function expects the values + * in the range of -Infinity to Infinity (exclusive) and values are returned in the range -PI/2 to PI/2 . + * + * @param {float} value -Infinity to Infinity (exclusive) + * + * @returns {float} + * + * @see tan + * @see asin + * @see acos + */ + p.atan = Math.atan; - VX: 21, - VY: 22, - VZ: 23, - VW: 24, + /** + * Calculates the angle (in radians) from a specified point to the coordinate origin as measured from + * the positive x-axis. Values are returned as a float in the range from PI to -PI. The atan2() function + * is most often used for orienting geometry to the position of the cursor. Note: The y-coordinate of the + * point is the first parameter and the x-coordinate is the second due the the structure of calculating the tangent. + * + * @param {float} y y-coordinate of the point + * @param {float} x x-coordinate of the point + * + * @returns {float} + * + * @see tan + */ + p.atan2 = Math.atan2; - // Material properties - AR: 25, - AG: 26, - AB: 27, + /** + * Calculates the cosine of an angle. This function expects the values of the angle parameter to be provided + * in radians (values from 0 to PI*2). Values are returned in the range -1 to 1. + * + * @param {float} value an angle in radians + * + * @returns {float} + * + * @see tan + * @see sin + */ + p.cos = Math.cos; - DR: 3, - DG: 4, - DB: 5, - DA: 6, + /** + * Calculates the sine of an angle. This function expects the values of the angle parameter to be provided in + * radians (values from 0 to 6.28). Values are returned in the range -1 to 1. + * + * @param {float} value an angle in radians + * + * @returns {float} + * + * @see cos + * @see radians + */ + p.sin = Math.sin; - SPR: 28, - SPG: 29, - SPB: 30, + /** + * Calculates the ratio of the sine and cosine of an angle. This function expects the values of the angle + * parameter to be provided in radians (values from 0 to PI*2). Values are returned in the range infinity to -infinity. + * + * @param {float} value an angle in radians + * + * @returns {float} + * + * @see cos + * @see sin + * @see radians + */ + p.tan = Math.tan; - SHINE: 31, + /** + * Constrains a value to not exceed a maximum and minimum value. + * + * @param {int|float} value the value to constrain + * @param {int|float} value minimum limit + * @param {int|float} value maximum limit + * + * @returns {int|float} + * + * @see max + * @see min + */ + p.constrain = function(aNumber, aMin, aMax) { + return aNumber > aMax ? aMax : aNumber < aMin ? aMin : aNumber; + }; - ER: 32, - EG: 33, - EB: 34, + /** + * Calculates the distance between two points. + * + * @param {int|float} x1 int or float: x-coordinate of the first point + * @param {int|float} y1 int or float: y-coordinate of the first point + * @param {int|float} z1 int or float: z-coordinate of the first point + * @param {int|float} x2 int or float: x-coordinate of the second point + * @param {int|float} y2 int or float: y-coordinate of the second point + * @param {int|float} z2 int or float: z-coordinate of the second point + * + * @returns {float} + */ + p.dist = function() { + var dx, dy, dz; + if (arguments.length === 4) { + dx = arguments[0] - arguments[2]; + dy = arguments[1] - arguments[3]; + return Math.sqrt(dx * dx + dy * dy); + } + if (arguments.length === 6) { + dx = arguments[0] - arguments[3]; + dy = arguments[1] - arguments[4]; + dz = arguments[2] - arguments[5]; + return Math.sqrt(dx * dx + dy * dy + dz * dz); + } + }; - BEEN_LIT: 35, + /** + * Calculates a number between two numbers at a specific increment. The amt parameter is the + * amount to interpolate between the two values where 0.0 equal to the first point, 0.1 is very + * near the first point, 0.5 is half-way in between, etc. The lerp function is convenient for + * creating motion along a straight path and for drawing dotted lines. + * + * @param {int|float} value1 float or int: first value + * @param {int|float} value2 float or int: second value + * @param {int|float} amt float: between 0.0 and 1.0 + * + * @returns {float} + * + * @see curvePoint + * @see bezierPoint + */ + p.lerp = function(value1, value2, amt) { + return ((value2 - value1) * amt) + value1; + }; - VERTEX_FIELD_COUNT: 36, + /** + * Calculates the magnitude (or length) of a vector. A vector is a direction in space commonly + * used in computer graphics and linear algebra. Because it has no "start" position, the magnitude + * of a vector can be thought of as the distance from coordinate (0,0) to its (x,y) value. + * Therefore, mag() is a shortcut for writing "dist(0, 0, x, y)". + * + * @param {int|float} a float or int: first value + * @param {int|float} b float or int: second value + * @param {int|float} c float or int: third value + * + * @returns {float} + * + * @see dist + */ + p.mag = function(a, b, c) { + if (c) { + return Math.sqrt(a * a + b * b + c * c); + } - // Renderers - P2D: 1, - JAVA2D: 1, - WEBGL: 2, - P3D: 2, - OPENGL: 2, - PDF: 0, - DXF: 0, + return Math.sqrt(a * a + b * b); + }; - // Platform IDs - OTHER: 0, - WINDOWS: 1, - MAXOSX: 2, - LINUX: 3, + /** + * Re-maps a number from one range to another. In the example above, the number '25' is converted from + * a value in the range 0..100 into a value that ranges from the left edge (0) to the right edge (width) of the screen. + * Numbers outside the range are not clamped to 0 and 1, because out-of-range values are often intentional and useful. + * + * @param {float} value The incoming value to be converted + * @param {float} istart Lower bound of the value's current range + * @param {float} istop Upper bound of the value's current range + * @param {float} ostart Lower bound of the value's target range + * @param {float} ostop Upper bound of the value's target range + * + * @returns {float} + * + * @see norm + * @see lerp + */ + p.map = function(value, istart, istop, ostart, ostop) { + return ostart + (ostop - ostart) * ((value - istart) / (istop - istart)); + }; - EPSILON: 0.0001, + /** + * Determines the largest value in a sequence of numbers. + * + * @param {int|float} value1 int or float + * @param {int|float} value2 int or float + * @param {int|float} value3 int or float + * @param {int|float} array int or float array + * + * @returns {int|float} + * + * @see min + */ + p.max = function() { + if (arguments.length === 2) { + return arguments[0] < arguments[1] ? arguments[1] : arguments[0]; + } + var numbers = arguments.length === 1 ? arguments[0] : arguments; // if single argument, array is used + if (! ("length" in numbers && numbers.length > 0)) { + throw "Non-empty array is expected"; + } + var max = numbers[0], + count = numbers.length; + for (var i = 1; i < count; ++i) { + if (max < numbers[i]) { + max = numbers[i]; + } + } + return max; + }; - MAX_FLOAT: 3.4028235e+38, - MIN_FLOAT: -3.4028235e+38, - MAX_INT: 2147483647, - MIN_INT: -2147483648, + /** + * Determines the smallest value in a sequence of numbers. + * + * @param {int|float} value1 int or float + * @param {int|float} value2 int or float + * @param {int|float} value3 int or float + * @param {int|float} array int or float array + * + * @returns {int|float} + * + * @see max + */ + p.min = function() { + if (arguments.length === 2) { + return arguments[0] < arguments[1] ? arguments[0] : arguments[1]; + } + var numbers = arguments.length === 1 ? arguments[0] : arguments; // if single argument, array is used + if (! ("length" in numbers && numbers.length > 0)) { + throw "Non-empty array is expected"; + } + var min = numbers[0], + count = numbers.length; + for (var i = 1; i < count; ++i) { + if (min > numbers[i]) { + min = numbers[i]; + } + } + return min; + }; - PI: Math.PI, - TWO_PI: 2 * Math.PI, - HALF_PI: Math.PI / 2, - THIRD_PI: Math.PI / 3, - QUARTER_PI: Math.PI / 4, + /** + * Normalizes a number from another range into a value between 0 and 1. + * Identical to map(value, low, high, 0, 1); + * Numbers outside the range are not clamped to 0 and 1, because out-of-range + * values are often intentional and useful. + * + * @param {float} aNumber The incoming value to be converted + * @param {float} low Lower bound of the value's current range + * @param {float} high Upper bound of the value's current range + * + * @returns {float} + * + * @see map + * @see lerp + */ + p.norm = function(aNumber, low, high) { + return (aNumber - low) / (high - low); + }; - DEG_TO_RAD: Math.PI / 180, - RAD_TO_DEG: 180 / Math.PI, + /** + * Squares a number (multiplies a number by itself). The result is always a positive number, + * as multiplying two negative numbers always yields a positive result. For example, -1 * -1 = 1. + * + * @param {float} value int or float + * + * @returns {float} + * + * @see sqrt + */ + p.sq = function(aNumber) { + return aNumber * aNumber; + }; - WHITESPACE: " \t\n\r\f\u00A0", - - // Color modes - RGB: 1, - ARGB: 2, - HSB: 3, - ALPHA: 4, - CMYK: 5, - - // Image file types - TIFF: 0, - TARGA: 1, - JPEG: 2, - GIF: 3, - - // Filter/convert types - BLUR: 11, - GRAY: 12, - INVERT: 13, - OPAQUE: 14, - POSTERIZE: 15, - THRESHOLD: 16, - ERODE: 17, - DILATE: 18, - - // Blend modes - REPLACE: 0, - BLEND: 1 << 0, - ADD: 1 << 1, - SUBTRACT: 1 << 2, - LIGHTEST: 1 << 3, - DARKEST: 1 << 4, - DIFFERENCE: 1 << 5, - EXCLUSION: 1 << 6, - MULTIPLY: 1 << 7, - SCREEN: 1 << 8, - OVERLAY: 1 << 9, - HARD_LIGHT: 1 << 10, - SOFT_LIGHT: 1 << 11, - DODGE: 1 << 12, - BURN: 1 << 13, - - // Color component bit masks - ALPHA_MASK: 0xff000000, - RED_MASK: 0x00ff0000, - GREEN_MASK: 0x0000ff00, - BLUE_MASK: 0x000000ff, - - // Projection matrices - CUSTOM: 0, - ORTHOGRAPHIC: 2, - PERSPECTIVE: 3, - - // Shapes - POINT: 2, - POINTS: 2, - LINE: 4, - LINES: 4, - TRIANGLE: 8, - TRIANGLES: 9, - TRIANGLE_STRIP: 10, - TRIANGLE_FAN: 11, - QUAD: 16, - QUADS: 16, - QUAD_STRIP: 17, - POLYGON: 20, - PATH: 21, - RECT: 30, - ELLIPSE: 31, - ARC: 32, - SPHERE: 40, - BOX: 41, - - GROUP: 0, - PRIMITIVE: 1, - //PATH: 21, // shared with Shape PATH - GEOMETRY: 3, - - // Shape Vertex - VERTEX: 0, - BEZIER_VERTEX: 1, - CURVE_VERTEX: 2, - BREAK: 3, - CLOSESHAPE: 4, - - // Shape closing modes - OPEN: 1, - CLOSE: 2, - - // Shape drawing modes - CORNER: 0, // Draw mode convention to use (x, y) to (width, height) - CORNERS: 1, // Draw mode convention to use (x1, y1) to (x2, y2) coordinates - RADIUS: 2, // Draw mode from the center, and using the radius - CENTER_RADIUS: 2, // Deprecated! Use RADIUS instead - CENTER: 3, // Draw from the center, using second pair of values as the diameter - DIAMETER: 3, // Synonym for the CENTER constant. Draw from the center - CENTER_DIAMETER: 3, // Deprecated! Use DIAMETER instead - - // Text vertical alignment modes - BASELINE: 0, // Default vertical alignment for text placement - TOP: 101, // Align text to the top - BOTTOM: 102, // Align text from the bottom, using the baseline - - // UV Texture coordinate modes - NORMAL: 1, - NORMALIZED: 1, - IMAGE: 2, + /** + * Converts a radian measurement to its corresponding value in degrees. Radians and degrees are two ways of + * measuring the same thing. There are 360 degrees in a circle and 2*PI radians in a circle. For example, + * 90 degrees = PI/2 = 1.5707964. All trigonometric methods in Processing require their parameters to be specified in radians. + * + * @param {int|float} value an angle in radians + * + * @returns {float} + * + * @see radians + */ + p.degrees = function(aAngle) { + return (aAngle * 180) / Math.PI; + }; - // Text placement modes - MODEL: 4, - SHAPE: 5, + /** + * Generates random numbers. Each time the random() function is called, it returns an unexpected value within + * the specified range. If one parameter is passed to the function it will return a float between zero and the + * value of the high parameter. The function call random(5) returns values between 0 and 5 (starting at zero, + * up to but not including 5). If two parameters are passed, it will return a float with a value between the + * parameters. The function call random(-5, 10.2) returns values starting at -5 up to (but not including) 10.2. + * To convert a floating-point random number to an integer, use the int() function. + * + * @param {int|float} value1 if one parameter is used, the top end to random from, if two params the low end + * @param {int|float} value2 the top end of the random range + * + * @returns {float} + * + * @see randomSeed + * @see noise + */ + p.random = function() { + if(arguments.length === 0) { + return currentRandom(); + } + if(arguments.length === 1) { + return currentRandom() * arguments[0]; + } + var aMin = arguments[0], aMax = arguments[1]; + return currentRandom() * (aMax - aMin) + aMin; + }; - // Stroke modes - SQUARE: 'butt', - ROUND: 'round', - PROJECT: 'square', - MITER: 'miter', - BEVEL: 'bevel', + // Pseudo-random generator + function Marsaglia(i1, i2) { + // from http://www.math.uni-bielefeld.de/~sillke/ALGORITHMS/random/marsaglia-c + var z=i1 || 362436069, w= i2 || 521288629; + var nextInt = function() { + z=(36969*(z&65535)+(z>>>16)) & 0xFFFFFFFF; + w=(18000*(w&65535)+(w>>>16)) & 0xFFFFFFFF; + return (((z&0xFFFF)<<16) | (w&0xFFFF)) & 0xFFFFFFFF; + }; - // Lighting modes - AMBIENT: 0, - DIRECTIONAL: 1, - //POINT: 2, Shared with Shape constant - SPOT: 3, + this.nextDouble = function() { + var i = nextInt() / 4294967296; + return i < 0 ? 1 + i : i; + }; + this.nextInt = nextInt; + } + Marsaglia.createRandomized = function() { + var now = new Date(); + return new Marsaglia((now / 60000) & 0xFFFFFFFF, now & 0xFFFFFFFF); + }; - // Key constants + /** + * Sets the seed value for random(). By default, random() produces different results each time the + * program is run. Set the value parameter to a constant to return the same pseudo-random numbers + * each time the software is run. + * + * @param {int|float} seed int + * + * @see random + * @see noise + * @see noiseSeed + */ + p.randomSeed = function(seed) { + currentRandom = (new Marsaglia(seed)).nextDouble; + }; - // Both key and keyCode will be equal to these values - BACKSPACE: 8, - TAB: 9, - ENTER: 10, - RETURN: 13, - ESC: 27, - DELETE: 127, - CODED: 0xffff, + // Random + // We have two random()'s in the code... what does this do ? and which one is current ? + p.Random = function(seed) { + var haveNextNextGaussian = false, nextNextGaussian, random; - // p.key will be CODED and p.keyCode will be this value - SHIFT: 16, - CONTROL: 17, - ALT: 18, - CAPSLK: 20, - PGUP: 33, - PGDN: 34, - END: 35, - HOME: 36, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - F1: 112, - F2: 113, - F3: 114, - F4: 115, - F5: 116, - F6: 117, - F7: 118, - F8: 119, - F9: 120, - F10: 121, - F11: 122, - F12: 123, - NUMLK: 144, - META: 157, - INSERT: 155, + this.nextGaussian = function() { + if (haveNextNextGaussian) { + haveNextNextGaussian = false; + return nextNextGaussian; + } + var v1, v2, s; + do { + v1 = 2 * random() - 1; // between -1.0 and 1.0 + v2 = 2 * random() - 1; // between -1.0 and 1.0 + s = v1 * v1 + v2 * v2; + } + while (s >= 1 || s === 0); - // Cursor types - ARROW: 'default', - CROSS: 'crosshair', - HAND: 'pointer', - MOVE: 'move', - TEXT: 'text', - WAIT: 'wait', - NOCURSOR: "url('data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='), auto", + var multiplier = Math.sqrt(-2 * Math.log(s) / s); + nextNextGaussian = v2 * multiplier; + haveNextNextGaussian = true; - // Hints - DISABLE_OPENGL_2X_SMOOTH: 1, - ENABLE_OPENGL_2X_SMOOTH: -1, - ENABLE_OPENGL_4X_SMOOTH: 2, - ENABLE_NATIVE_FONTS: 3, - DISABLE_DEPTH_TEST: 4, - ENABLE_DEPTH_TEST: -4, - ENABLE_DEPTH_SORT: 5, - DISABLE_DEPTH_SORT: -5, - DISABLE_OPENGL_ERROR_REPORT: 6, - ENABLE_OPENGL_ERROR_REPORT: -6, - ENABLE_ACCURATE_TEXTURES: 7, - DISABLE_ACCURATE_TEXTURES: -7, - HINT_COUNT: 10, + return v1 * multiplier; + }; - // PJS defined constants - SINCOS_LENGTH: 720, // every half degree - PRECISIONB: 15, // fixed point precision is limited to 15 bits!! - PRECISIONF: 1 << 15, - PREC_MAXVAL: (1 << 15) - 1, - PREC_ALPHA_SHIFT: 24 - 15, - PREC_RED_SHIFT: 16 - 15, - NORMAL_MODE_AUTO: 0, - NORMAL_MODE_SHAPE: 1, - NORMAL_MODE_VERTEX: 2, - MAX_LIGHTS: 8 + // by default use standard random, otherwise seeded + random = (seed === undef) ? Math.random : (new Marsaglia(seed)).nextDouble; }; - /** - * Returns Java hashCode() result for the object. If the object has the "hashCode" function, - * it preforms the call of this function. Otherwise it uses/creates the "$id" property, - * which is used as the hashCode. - * - * @param {Object} obj The object. - * @returns {int} The object's hash code. - */ - function virtHashCode(obj) { - if (typeof(obj) === "string") { - var hash = 0; - for (var i = 0; i < obj.length; ++i) { - hash = (hash * 31 + obj.charCodeAt(i)) & 0xFFFFFFFF; - } - return hash; - } - if (typeof(obj) !== "object") { - return obj & 0xFFFFFFFF; + // Noise functions and helpers + function PerlinNoise(seed) { + var rnd = seed !== undef ? new Marsaglia(seed) : Marsaglia.createRandomized(); + var i, j; + // http://www.noisemachine.com/talk1/17b.html + // http://mrl.nyu.edu/~perlin/noise/ + // generate permutation + var perm = new Uint8Array(512); + for(i=0;i<256;++i) { perm[i] = i; } + for(i=0;i<256;++i) { var t = perm[j = rnd.nextInt() & 0xFF]; perm[j] = perm[i]; perm[i] = t; } + // copy to avoid taking mod in perm[0]; + for(i=0;i<256;++i) { perm[i + 256] = perm[i]; } + + function grad3d(i,x,y,z) { + var h = i & 15; // convert into 12 gradient directions + var u = h<8 ? x : y, + v = h<4 ? y : h===12||h===14 ? x : z; + return ((h&1) === 0 ? u : -u) + ((h&2) === 0 ? v : -v); } - if (obj.hashCode instanceof Function) { - return obj.hashCode(); + + function grad2d(i,x,y) { + var v = (i & 1) === 0 ? x : y; + return (i&2) === 0 ? -v : v; } - if (obj.$id === undef) { - obj.$id = ((Math.floor(Math.random() * 0x10000) - 0x8000) << 16) | Math.floor(Math.random() * 0x10000); + + function grad1d(i,x) { + return (i&1) === 0 ? -x : x; } - return obj.$id; + + function lerp(t,a,b) { return a + t * (b - a); } + + this.noise3d = function(x, y, z) { + var X = Math.floor(x)&255, Y = Math.floor(y)&255, Z = Math.floor(z)&255; + x -= Math.floor(x); y -= Math.floor(y); z -= Math.floor(z); + var fx = (3-2*x)*x*x, fy = (3-2*y)*y*y, fz = (3-2*z)*z*z; + var p0 = perm[X]+Y, p00 = perm[p0] + Z, p01 = perm[p0 + 1] + Z, + p1 = perm[X + 1] + Y, p10 = perm[p1] + Z, p11 = perm[p1 + 1] + Z; + return lerp(fz, + lerp(fy, lerp(fx, grad3d(perm[p00], x, y, z), grad3d(perm[p10], x-1, y, z)), + lerp(fx, grad3d(perm[p01], x, y-1, z), grad3d(perm[p11], x-1, y-1,z))), + lerp(fy, lerp(fx, grad3d(perm[p00 + 1], x, y, z-1), grad3d(perm[p10 + 1], x-1, y, z-1)), + lerp(fx, grad3d(perm[p01 + 1], x, y-1, z-1), grad3d(perm[p11 + 1], x-1, y-1,z-1)))); + }; + + this.noise2d = function(x, y) { + var X = Math.floor(x)&255, Y = Math.floor(y)&255; + x -= Math.floor(x); y -= Math.floor(y); + var fx = (3-2*x)*x*x, fy = (3-2*y)*y*y; + var p0 = perm[X]+Y, p1 = perm[X + 1] + Y; + return lerp(fy, + lerp(fx, grad2d(perm[p0], x, y), grad2d(perm[p1], x-1, y)), + lerp(fx, grad2d(perm[p0 + 1], x, y-1), grad2d(perm[p1 + 1], x-1, y-1))); + }; + + this.noise1d = function(x) { + var X = Math.floor(x)&255; + x -= Math.floor(x); + var fx = (3-2*x)*x*x; + return lerp(fx, grad1d(perm[X], x), grad1d(perm[X+1], x-1)); + }; } + // processing defaults + var noiseProfile = { generator: undef, octaves: 4, fallout: 0.5, seed: undef}; + /** - * Returns Java equals() result for two objects. If the first object - * has the "equals" function, it preforms the call of this function. - * Otherwise the method uses the JavaScript === operator. - * - * @param {Object} obj The first object. - * @param {Object} other The second object. - * - * @returns {boolean} true if the objects are equal. - */ - function virtEquals(obj, other) { - if (obj === null || other === null) { - return (obj === null) && (other === null); - } - if (typeof (obj) === "string") { - return obj === other; - } - if (typeof(obj) !== "object") { - return obj === other; + * Returns the Perlin noise value at specified coordinates. Perlin noise is a random sequence + * generator producing a more natural ordered, harmonic succession of numbers compared to the + * standard random() function. It was invented by Ken Perlin in the 1980s and been used since + * in graphical applications to produce procedural textures, natural motion, shapes, terrains etc. + * The main difference to the random() function is that Perlin noise is defined in an infinite + * n-dimensional space where each pair of coordinates corresponds to a fixed semi-random value + * (fixed only for the lifespan of the program). The resulting value will always be between 0.0 + * and 1.0. Processing can compute 1D, 2D and 3D noise, depending on the number of coordinates + * given. The noise value can be animated by moving through the noise space as demonstrated in + * the example above. The 2nd and 3rd dimension can also be interpreted as time. + * The actual noise is structured similar to an audio signal, in respect to the function's use + * of frequencies. Similar to the concept of harmonics in physics, perlin noise is computed over + * several octaves which are added together for the final result. + * Another way to adjust the character of the resulting sequence is the scale of the input + * coordinates. As the function works within an infinite space the value of the coordinates + * doesn't matter as such, only the distance between successive coordinates does (eg. when using + * noise() within a loop). As a general rule the smaller the difference between coordinates, the + * smoother the resulting noise sequence will be. Steps of 0.005-0.03 work best for most applications, + * but this will differ depending on use. + * + * @param {float} x x coordinate in noise space + * @param {float} y y coordinate in noise space + * @param {float} z z coordinate in noise space + * + * @returns {float} + * + * @see random + * @see noiseDetail + */ + p.noise = function(x, y, z) { + if(noiseProfile.generator === undef) { + // caching + noiseProfile.generator = new PerlinNoise(noiseProfile.seed); } - if (obj.equals instanceof Function) { - return obj.equals(other); + var generator = noiseProfile.generator; + var effect = 1, k = 1, sum = 0; + for(var i=0; i-1; - }; - /** - * @member ArrayList - * ArrayList.indexOf() Returns the position this element takes in the list, or -1 if the element is not found. - * - * @param {Object} item element whose position in this List is to be tested. - * - * @returns {int} the list position that the first match for this element holds in the list, or -1 if it is not in the list. - */ - this.indexOf = function(item) { - for (var i = 0, len = array.length; i < len; ++i) { - if (virtEquals(item, array[i])) { - return i; - } + this.next = function() { + return array[++index]; + }; + + this.remove = function() { + array.splice(index--, 1); + }; + } + + function ArrayList(a) { + var array = []; + + if (a && a.toArray) { + array = a.toArray(); + } + + /** + * @member ArrayList + * ArrayList.get() Returns the element at the specified position in this list. + * + * @param {int} i index of element to return + * + * @returns {Object} the element at the specified position in this list. + */ + this.get = function(i) { + return array[i]; + }; + /** + * @member ArrayList + * ArrayList.contains() Returns true if this list contains the specified element. + * + * @param {Object} item element whose presence in this List is to be tested. + * + * @returns {boolean} true if the specified element is present; false otherwise. + */ + this.contains = function(item) { + return this.indexOf(item)>-1; + }; + /** + * @member ArrayList + * ArrayList.indexOf() Returns the position this element takes in the list, or -1 if the element is not found. + * + * @param {Object} item element whose position in this List is to be tested. + * + * @returns {int} the list position that the first match for this element holds in the list, or -1 if it is not in the list. + */ + this.indexOf = function(item) { + for (var i = 0, len = array.length; i < len; ++i) { + if (virtEquals(item, array[i])) { + return i; } - return -1; - }; - /** - * @member ArrayList - * ArrayList.lastIndexOf() Returns the index of the last occurrence of the specified element in this list, - * or -1 if this list does not contain the element. More formally, returns the highest index i such that - * (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. - * - * @param {Object} item element to search for. - * - * @returns {int} the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. - */ - this.lastIndexOf = function(item) { - for (var i = array.length-1; i >= 0; --i) { - if (virtEquals(item, array[i])) { - return i; - } + } + return -1; + }; + /** + * @member ArrayList + * ArrayList.lastIndexOf() Returns the index of the last occurrence of the specified element in this list, + * or -1 if this list does not contain the element. More formally, returns the highest index i such that + * (o==null ? get(i)==null : o.equals(get(i))), or -1 if there is no such index. + * + * @param {Object} item element to search for. + * + * @returns {int} the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element. + */ + this.lastIndexOf = function(item) { + for (var i = array.length-1; i >= 0; --i) { + if (virtEquals(item, array[i])) { + return i; } - return -1; - }; - /** - * @member ArrayList - * ArrayList.add() Adds the specified element to this list. - * - * @param {int} index optional index at which the specified element is to be inserted - * @param {Object} object element to be added to the list - */ - this.add = function() { - if (arguments.length === 1) { - array.push(arguments[0]); // for add(Object) - } else if (arguments.length === 2) { - var arg0 = arguments[0]; - if (typeof arg0 === 'number') { - if (arg0 >= 0 && arg0 <= array.length) { - array.splice(arg0, 0, arguments[1]); // for add(i, Object) - } else { - throw(arg0 + " is not a valid index"); - } + } + return -1; + }; + /** + * @member ArrayList + * ArrayList.add() Adds the specified element to this list. + * + * @param {int} index optional index at which the specified element is to be inserted + * @param {Object} object element to be added to the list + */ + this.add = function() { + if (arguments.length === 1) { + array.push(arguments[0]); // for add(Object) + } else if (arguments.length === 2) { + var arg0 = arguments[0]; + if (typeof arg0 === 'number') { + if (arg0 >= 0 && arg0 <= array.length) { + array.splice(arg0, 0, arguments[1]); // for add(i, Object) } else { - throw(typeof arg0 + " is not a number"); + throw(arg0 + " is not a valid index"); } } else { - throw("Please use the proper number of parameters."); + throw(typeof arg0 + " is not a number"); } - }; - /** - * @member ArrayList - * ArrayList.addAll(collection) appends all of the elements in the specified - * Collection to the end of this list, in the order that they are returned by - * the specified Collection's Iterator. - * - * When called as addAll(index, collection) the elements are inserted into - * this list at the position indicated by index. - * - * @param {index} Optional; specifies the position the colletion should be inserted at - * @param {collection} Any iterable object (ArrayList, HashMap.keySet(), etc.) - * @throws out of bounds error for negative index, or index greater than list size. - */ - this.addAll = function(arg1, arg2) { - // addAll(int, Collection) - var it; - if (typeof arg1 === "number") { - if (arg1 < 0 || arg1 > array.length) { - throw("Index out of bounds for addAll: " + arg1 + " greater or equal than " + array.length); - } - it = new ObjectIterator(arg2); - while (it.hasNext()) { - array.splice(arg1++, 0, it.next()); - } + } else { + throw("Please use the proper number of parameters."); + } + }; + /** + * @member ArrayList + * ArrayList.addAll(collection) appends all of the elements in the specified + * Collection to the end of this list, in the order that they are returned by + * the specified Collection's Iterator. + * + * When called as addAll(index, collection) the elements are inserted into + * this list at the position indicated by index. + * + * @param {index} Optional; specifies the position the colletion should be inserted at + * @param {collection} Any iterable object (ArrayList, HashMap.keySet(), etc.) + * @throws out of bounds error for negative index, or index greater than list size. + */ + this.addAll = function(arg1, arg2) { + // addAll(int, Collection) + var it; + if (typeof arg1 === "number") { + if (arg1 < 0 || arg1 > array.length) { + throw("Index out of bounds for addAll: " + arg1 + " greater or equal than " + array.length); + } + it = new ObjectIterator(arg2); + while (it.hasNext()) { + array.splice(arg1++, 0, it.next()); } - // addAll(Collection) - else { - it = new ObjectIterator(arg1); - while (it.hasNext()) { - array.push(it.next()); - } + } + // addAll(Collection) + else { + it = new ObjectIterator(arg1); + while (it.hasNext()) { + array.push(it.next()); } - }; - /** - * @member ArrayList - * ArrayList.set() Replaces the element at the specified position in this list with the specified element. - * - * @param {int} index index of element to replace - * @param {Object} object element to be stored at the specified position - */ - this.set = function() { - if (arguments.length === 2) { - var arg0 = arguments[0]; - if (typeof arg0 === 'number') { - if (arg0 >= 0 && arg0 < array.length) { - array.splice(arg0, 1, arguments[1]); - } else { - throw(arg0 + " is not a valid index."); - } + } + }; + /** + * @member ArrayList + * ArrayList.set() Replaces the element at the specified position in this list with the specified element. + * + * @param {int} index index of element to replace + * @param {Object} object element to be stored at the specified position + */ + this.set = function() { + if (arguments.length === 2) { + var arg0 = arguments[0]; + if (typeof arg0 === 'number') { + if (arg0 >= 0 && arg0 < array.length) { + array.splice(arg0, 1, arguments[1]); } else { - throw(typeof arg0 + " is not a number"); + throw(arg0 + " is not a valid index."); } } else { - throw("Please use the proper number of parameters."); + throw(typeof arg0 + " is not a number"); } - }; + } else { + throw("Please use the proper number of parameters."); + } + }; - /** - * @member ArrayList - * ArrayList.size() Returns the number of elements in this list. - * - * @returns {int} the number of elements in this list - */ - this.size = function() { - return array.length; - }; + /** + * @member ArrayList + * ArrayList.size() Returns the number of elements in this list. + * + * @returns {int} the number of elements in this list + */ + this.size = function() { + return array.length; + }; - /** - * @member ArrayList - * ArrayList.clear() Removes all of the elements from this list. The list will be empty after this call returns. - */ - this.clear = function() { - array.length = 0; - }; + /** + * @member ArrayList + * ArrayList.clear() Removes all of the elements from this list. The list will be empty after this call returns. + */ + this.clear = function() { + array.length = 0; + }; - /** - * @member ArrayList - * ArrayList.remove() Removes an element either based on index, if the argument is a number, or - * by equality check, if the argument is an object. - * - * @param {int|Object} item either the index of the element to be removed, or the element itself. - * - * @returns {Object|boolean} If removal is by index, the element that was removed, or null if nothing was removed. If removal is by object, true if removal occurred, otherwise false. - */ - this.remove = function(item) { - if (typeof item === 'number') { - return array.splice(item, 1)[0]; - } - item = this.indexOf(item); - if (item > -1) { - array.splice(item, 1); - return true; - } - return false; - }; + /** + * @member ArrayList + * ArrayList.remove() Removes an element either based on index, if the argument is a number, or + * by equality check, if the argument is an object. + * + * @param {int|Object} item either the index of the element to be removed, or the element itself. + * + * @returns {Object|boolean} If removal is by index, the element that was removed, or null if nothing was removed. If removal is by object, true if removal occurred, otherwise false. + */ + this.remove = function(item) { + if (typeof item === 'number') { + return array.splice(item, 1)[0]; + } + item = this.indexOf(item); + if (item > -1) { + array.splice(item, 1); + return true; + } + return false; + }; - /** - * @member ArrayList - * ArrayList.removeAll Removes from this List all of the elements from - * the current ArrayList which are present in the passed in paramater ArrayList 'c'. - * Shifts any succeeding elements to the left (reduces their index). - * - * @param {ArrayList} the ArrayList to compare to the current ArrayList - * - * @returns {boolean} true if the ArrayList had an element removed; false otherwise - */ - this.removeAll = function(c) { - var i, x, item, - newList = new ArrayList(); - newList.addAll(this); - this.clear(); - // For every item that exists in the original ArrayList and not in the c ArrayList - // copy it into the empty 'this' ArrayList to create the new 'this' Array. - for (i = 0, x = 0; i < newList.size(); i++) { - item = newList.get(i); - if (!c.contains(item)) { - this.add(x++, item); - } - } - if (this.size() < newList.size()) { - return true; - } - return false; - }; + /** + * @member ArrayList + * ArrayList.removeAll Removes from this List all of the elements from + * the current ArrayList which are present in the passed in paramater ArrayList 'c'. + * Shifts any succeeding elements to the left (reduces their index). + * + * @param {ArrayList} the ArrayList to compare to the current ArrayList + * + * @returns {boolean} true if the ArrayList had an element removed; false otherwise + */ + this.removeAll = function(c) { + var i, x, item, + newList = new ArrayList(); + newList.addAll(this); + this.clear(); + // For every item that exists in the original ArrayList and not in the c ArrayList + // copy it into the empty 'this' ArrayList to create the new 'this' Array. + for (i = 0, x = 0; i < newList.size(); i++) { + item = newList.get(i); + if (!c.contains(item)) { + this.add(x++, item); + } + } + if (this.size() < newList.size()) { + return true; + } + return false; + }; - /** - * @member ArrayList - * ArrayList.isEmpty() Tests if this list has no elements. - * - * @returns {boolean} true if this list has no elements; false otherwise - */ - this.isEmpty = function() { - return !array.length; - }; + /** + * @member ArrayList + * ArrayList.isEmpty() Tests if this list has no elements. + * + * @returns {boolean} true if this list has no elements; false otherwise + */ + this.isEmpty = function() { + return !array.length; + }; - /** - * @member ArrayList - * ArrayList.clone() Returns a shallow copy of this ArrayList instance. (The elements themselves are not copied.) - * - * @returns {ArrayList} a clone of this ArrayList instance - */ - this.clone = function() { - return new ArrayList(this); - }; + /** + * @member ArrayList + * ArrayList.clone() Returns a shallow copy of this ArrayList instance. (The elements themselves are not copied.) + * + * @returns {ArrayList} a clone of this ArrayList instance + */ + this.clone = function() { + return new ArrayList(this); + }; - /** - * @member ArrayList - * ArrayList.toArray() Returns an array containing all of the elements in this list in the correct order. - * - * @returns {Object[]} Returns an array containing all of the elements in this list in the correct order - */ - this.toArray = function() { - return array.slice(0); - }; + /** + * @member ArrayList + * ArrayList.toArray() Returns an array containing all of the elements in this list in the correct order. + * + * @returns {Object[]} Returns an array containing all of the elements in this list in the correct order + */ + this.toArray = function() { + return array.slice(0); + }; - this.iterator = function() { - return new Iterator(array); - }; - } + this.iterator = function() { + return new Iterator(array); + }; + } - return ArrayList; - }()); + return ArrayList; +}; + +},{}],4:[function(require,module,exports){ +/** + * Returns Java equals() result for two objects. If the first object + * has the "equals" function, it preforms the call of this function. + * Otherwise the method uses the JavaScript === operator. + * + * @param {Object} obj The first object. + * @param {Object} other The second object. + * + * @returns {boolean} true if the objects are equal. + */ +module.exports = function virtEquals(obj, other) { + if (obj === null || other === null) { + return (obj === null) && (other === null); + } + if (typeof (obj) === "string") { + return obj === other; + } + if (typeof(obj) !== "object") { + return obj === other; + } + if (obj.equals instanceof Function) { + return obj.equals(other); + } + return obj === other; +}; + +},{}],7:[function(require,module,exports){ +/** +* A HashMap stores a collection of objects, each referenced by a key. This is similar to an Array, only +* instead of accessing elements with a numeric index, a String is used. (If you are familiar with +* associative arrays from other languages, this is the same idea.) +* +* @param {int} initialCapacity defines the initial capacity of the map, it's 16 by default +* @param {float} loadFactor the load factor for the map, the default is 0.75 +* @param {Map} m gives the new HashMap the same mappings as this Map +*/ +module.exports = function(options) { + var virtHashCode = options.virtHashCode, + virtEquals = options.virtEquals; /** + * @member HashMap * A HashMap stores a collection of objects, each referenced by a key. This is similar to an Array, only * instead of accessing elements with a numeric index, a String is used. (If you are familiar with * associative arrays from other languages, this is the same idea.) @@ -729,1092 +1178,759 @@ * @param {float} loadFactor the load factor for the map, the default is 0.75 * @param {Map} m gives the new HashMap the same mappings as this Map */ - var HashMap = (function() { - /** - * @member HashMap - * A HashMap stores a collection of objects, each referenced by a key. This is similar to an Array, only - * instead of accessing elements with a numeric index, a String is used. (If you are familiar with - * associative arrays from other languages, this is the same idea.) - * - * @param {int} initialCapacity defines the initial capacity of the map, it's 16 by default - * @param {float} loadFactor the load factor for the map, the default is 0.75 - * @param {Map} m gives the new HashMap the same mappings as this Map - */ - function HashMap() { - if (arguments.length === 1 && arguments[0] instanceof HashMap) { - return arguments[0].clone(); - } + function HashMap() { + if (arguments.length === 1 && arguments[0] instanceof HashMap) { + return arguments[0].clone(); + } - var initialCapacity = arguments.length > 0 ? arguments[0] : 16; - var loadFactor = arguments.length > 1 ? arguments[1] : 0.75; - var buckets = []; - buckets.length = initialCapacity; - var count = 0; - var hashMap = this; + var initialCapacity = arguments.length > 0 ? arguments[0] : 16; + var loadFactor = arguments.length > 1 ? arguments[1] : 0.75; + var buckets = []; + buckets.length = initialCapacity; + var count = 0; + var hashMap = this; - function getBucketIndex(key) { - var index = virtHashCode(key) % buckets.length; - return index < 0 ? buckets.length + index : index; + function getBucketIndex(key) { + var index = virtHashCode(key) % buckets.length; + return index < 0 ? buckets.length + index : index; + } + function ensureLoad() { + if (count <= loadFactor * buckets.length) { + return; } - function ensureLoad() { - if (count <= loadFactor * buckets.length) { - return; - } - var allEntries = []; - for (var i = 0; i < buckets.length; ++i) { - if (buckets[i] !== undef) { - allEntries = allEntries.concat(buckets[i]); - } + var allEntries = []; + for (var i = 0; i < buckets.length; ++i) { + if (buckets[i] !== undefined) { + allEntries = allEntries.concat(buckets[i]); } - var newBucketsLength = buckets.length * 2; - buckets = []; - buckets.length = newBucketsLength; - for (var j = 0; j < allEntries.length; ++j) { - var index = getBucketIndex(allEntries[j].key); - var bucket = buckets[index]; - if (bucket === undef) { - buckets[index] = bucket = []; - } - bucket.push(allEntries[j]); + } + var newBucketsLength = buckets.length * 2; + buckets = []; + buckets.length = newBucketsLength; + for (var j = 0; j < allEntries.length; ++j) { + var index = getBucketIndex(allEntries[j].key); + var bucket = buckets[index]; + if (bucket === undefined) { + buckets[index] = bucket = []; } + bucket.push(allEntries[j]); } + } - function Iterator(conversion, removeItem) { - var bucketIndex = 0; - var itemIndex = -1; - var endOfBuckets = false; - var currentItem; - - function findNext() { - while (!endOfBuckets) { - ++itemIndex; - if (bucketIndex >= buckets.length) { - endOfBuckets = true; - } else if (buckets[bucketIndex] === undef || itemIndex >= buckets[bucketIndex].length) { - itemIndex = -1; - ++bucketIndex; - } else { - return; - } + function Iterator(conversion, removeItem) { + var bucketIndex = 0; + var itemIndex = -1; + var endOfBuckets = false; + var currentItem; + + function findNext() { + while (!endOfBuckets) { + ++itemIndex; + if (bucketIndex >= buckets.length) { + endOfBuckets = true; + } else if (buckets[bucketIndex] === undefined || itemIndex >= buckets[bucketIndex].length) { + itemIndex = -1; + ++bucketIndex; + } else { + return; } } + } - /* - * @member Iterator - * Checks if the Iterator has more items - */ - this.hasNext = function() { - return !endOfBuckets; - }; + /* + * @member Iterator + * Checks if the Iterator has more items + */ + this.hasNext = function() { + return !endOfBuckets; + }; - /* - * @member Iterator - * Return the next Item - */ - this.next = function() { - currentItem = conversion(buckets[bucketIndex][itemIndex]); - findNext(); - return currentItem; - }; + /* + * @member Iterator + * Return the next Item + */ + this.next = function() { + currentItem = conversion(buckets[bucketIndex][itemIndex]); + findNext(); + return currentItem; + }; - /* - * @member Iterator - * Remove the current item - */ - this.remove = function() { - if (currentItem !== undef) { - removeItem(currentItem); - --itemIndex; - findNext(); - } - }; + /* + * @member Iterator + * Remove the current item + */ + this.remove = function() { + if (currentItem !== undefined) { + removeItem(currentItem); + --itemIndex; + findNext(); + } + }; - findNext(); - } + findNext(); + } - function Set(conversion, isIn, removeItem) { - this.clear = function() { - hashMap.clear(); - }; + function Set(conversion, isIn, removeItem) { + this.clear = function() { + hashMap.clear(); + }; - this.contains = function(o) { - return isIn(o); - }; + this.contains = function(o) { + return isIn(o); + }; - this.containsAll = function(o) { - var it = o.iterator(); - while (it.hasNext()) { - if (!this.contains(it.next())) { - return false; - } + this.containsAll = function(o) { + var it = o.iterator(); + while (it.hasNext()) { + if (!this.contains(it.next())) { + return false; } - return true; - }; - - this.isEmpty = function() { - return hashMap.isEmpty(); - }; - - this.iterator = function() { - return new Iterator(conversion, removeItem); - }; - - this.remove = function(o) { - if (this.contains(o)) { - removeItem(o); - return true; - } - return false; - }; - - this.removeAll = function(c) { - var it = c.iterator(); - var changed = false; - while (it.hasNext()) { - var item = it.next(); - if (this.contains(item)) { - removeItem(item); - changed = true; - } - } - return true; - }; - - this.retainAll = function(c) { - var it = this.iterator(); - var toRemove = []; - while (it.hasNext()) { - var entry = it.next(); - if (!c.contains(entry)) { - toRemove.push(entry); - } - } - for (var i = 0; i < toRemove.length; ++i) { - removeItem(toRemove[i]); - } - return toRemove.length > 0; - }; - - this.size = function() { - return hashMap.size(); - }; - - this.toArray = function() { - var result = []; - var it = this.iterator(); - while (it.hasNext()) { - result.push(it.next()); - } - return result; - }; - } - - function Entry(pair) { - this._isIn = function(map) { - return map === hashMap && (pair.removed === undef); - }; - - this.equals = function(o) { - return virtEquals(pair.key, o.getKey()); - }; - - this.getKey = function() { - return pair.key; - }; - - this.getValue = function() { - return pair.value; - }; - - this.hashCode = function(o) { - return virtHashCode(pair.key); - }; - - this.setValue = function(value) { - var old = pair.value; - pair.value = value; - return old; - }; - } + } + return true; + }; - this.clear = function() { - count = 0; - buckets = []; - buckets.length = initialCapacity; + this.isEmpty = function() { + return hashMap.isEmpty(); }; - this.clone = function() { - var map = new HashMap(); - map.putAll(this); - return map; + this.iterator = function() { + return new Iterator(conversion, removeItem); }; - this.containsKey = function(key) { - var index = getBucketIndex(key); - var bucket = buckets[index]; - if (bucket === undef) { - return false; - } - for (var i = 0; i < bucket.length; ++i) { - if (virtEquals(bucket[i].key, key)) { - return true; - } + this.remove = function(o) { + if (this.contains(o)) { + removeItem(o); + return true; } return false; }; - this.containsValue = function(value) { - for (var i = 0; i < buckets.length; ++i) { - var bucket = buckets[i]; - if (bucket === undef) { - continue; - } - for (var j = 0; j < bucket.length; ++j) { - if (virtEquals(bucket[j].value, value)) { - return true; - } + this.removeAll = function(c) { + var it = c.iterator(); + var changed = false; + while (it.hasNext()) { + var item = it.next(); + if (this.contains(item)) { + removeItem(item); + changed = true; } } - return false; - }; - - this.entrySet = function() { - return new Set( - - function(pair) { - return new Entry(pair); - }, - - function(pair) { - return (pair instanceof Entry) && pair._isIn(hashMap); - }, - - function(pair) { - return hashMap.remove(pair.getKey()); - }); + return true; }; - this.get = function(key) { - var index = getBucketIndex(key); - var bucket = buckets[index]; - if (bucket === undef) { - return null; - } - for (var i = 0; i < bucket.length; ++i) { - if (virtEquals(bucket[i].key, key)) { - return bucket[i].value; + this.retainAll = function(c) { + var it = this.iterator(); + var toRemove = []; + while (it.hasNext()) { + var entry = it.next(); + if (!c.contains(entry)) { + toRemove.push(entry); } } - return null; + for (var i = 0; i < toRemove.length; ++i) { + removeItem(toRemove[i]); + } + return toRemove.length > 0; }; - this.isEmpty = function() { - return count === 0; + this.size = function() { + return hashMap.size(); }; - this.keySet = function() { - return new Set( - // get key from pair - function(pair) { - return pair.key; - }, - // is-in test - function(key) { - return hashMap.containsKey(key); - }, - // remove from hashmap by key - function(key) { - return hashMap.remove(key); - } - ); + this.toArray = function() { + var result = []; + var it = this.iterator(); + while (it.hasNext()) { + result.push(it.next()); + } + return result; }; + } - this.values = function() { - return new Set( - // get value from pair - function(pair) { - return pair.value; - }, - // is-in test - function(value) { - return hashMap.containsValue(value); - }, - // remove from hashmap by value - function(value) { - return hashMap.removeByValue(value); - } - ); + function Entry(pair) { + this._isIn = function(map) { + return map === hashMap && (pair.removed === undefined); }; - this.put = function(key, value) { - var index = getBucketIndex(key); - var bucket = buckets[index]; - if (bucket === undef) { - ++count; - buckets[index] = [{ - key: key, - value: value - }]; - ensureLoad(); - return null; - } - for (var i = 0; i < bucket.length; ++i) { - if (virtEquals(bucket[i].key, key)) { - var previous = bucket[i].value; - bucket[i].value = value; - return previous; - } - } - ++count; - bucket.push({ - key: key, - value: value - }); - ensureLoad(); - return null; + this.equals = function(o) { + return virtEquals(pair.key, o.getKey()); }; - this.putAll = function(m) { - var it = m.entrySet().iterator(); - while (it.hasNext()) { - var entry = it.next(); - this.put(entry.getKey(), entry.getValue()); - } + this.getKey = function() { + return pair.key; }; - this.remove = function(key) { - var index = getBucketIndex(key); - var bucket = buckets[index]; - if (bucket === undef) { - return null; - } - for (var i = 0; i < bucket.length; ++i) { - if (virtEquals(bucket[i].key, key)) { - --count; - var previous = bucket[i].value; - bucket[i].removed = true; - if (bucket.length > 1) { - bucket.splice(i, 1); - } else { - buckets[index] = undef; - } - return previous; - } - } - return null; + this.getValue = function() { + return pair.value; }; - this.removeByValue = function(value) { - var bucket, i, ilen, pair; - for (bucket in buckets) { - if (buckets.hasOwnProperty(bucket)) { - for (i = 0, ilen = buckets[bucket].length; i < ilen; i++) { - pair = buckets[bucket][i]; - // removal on values is based on identity, not equality - if (pair.value === value) { - buckets[bucket].splice(i, 1); - return true; - } - } - } - } - return false; + this.hashCode = function(o) { + return virtHashCode(pair.key); }; - this.size = function() { - return count; + this.setValue = function(value) { + var old = pair.value; + pair.value = value; + return old; }; } - return HashMap; - }()); + this.clear = function() { + count = 0; + buckets = []; + buckets.length = initialCapacity; + }; - var PVector = (function() { - function PVector(x, y, z) { - this.x = x || 0; - this.y = y || 0; - this.z = z || 0; - } + this.clone = function() { + var map = new HashMap(); + map.putAll(this); + return map; + }; - PVector.fromAngle = function(angle, v) { - if (v === undef || v === null) { - v = new PVector(); + this.containsKey = function(key) { + var index = getBucketIndex(key); + var bucket = buckets[index]; + if (bucket === undefined) { + return false; } - v.x = Math.cos(angle); - v.y = Math.sin(angle); - return v; + for (var i = 0; i < bucket.length; ++i) { + if (virtEquals(bucket[i].key, key)) { + return true; + } + } + return false; }; - PVector.random2D = function(v) { - return PVector.fromAngle(Math.random() * PConstants.TWO_PI, v); + this.containsValue = function(value) { + for (var i = 0; i < buckets.length; ++i) { + var bucket = buckets[i]; + if (bucket === undefined) { + continue; + } + for (var j = 0; j < bucket.length; ++j) { + if (virtEquals(bucket[j].value, value)) { + return true; + } + } + } + return false; }; - PVector.random3D = function(v) { - var angle = Math.random() * PConstants.TWO_PI; - var vz = Math.random() * 2 - 1; - var mult = Math.sqrt(1 - vz * vz); - var vx = mult * Math.cos(angle); - var vy = mult * Math.sin(angle); - if (v === undef || v === null) { - v = new PVector(vx, vy, vz); - } else { - v.set(vx, vy, vz); - } - return v; + this.entrySet = function() { + return new Set( + + function(pair) { + return new Entry(pair); + }, + + function(pair) { + return (pair instanceof Entry) && pair._isIn(hashMap); + }, + + function(pair) { + return hashMap.remove(pair.getKey()); + }); }; - PVector.dist = function(v1, v2) { - return v1.dist(v2); + this.get = function(key) { + var index = getBucketIndex(key); + var bucket = buckets[index]; + if (bucket === undefined) { + return null; + } + for (var i = 0; i < bucket.length; ++i) { + if (virtEquals(bucket[i].key, key)) { + return bucket[i].value; + } + } + return null; }; - PVector.dot = function(v1, v2) { - return v1.dot(v2); + this.isEmpty = function() { + return count === 0; }; - PVector.cross = function(v1, v2) { - return v1.cross(v2); + this.keySet = function() { + return new Set( + // get key from pair + function(pair) { + return pair.key; + }, + // is-in test + function(key) { + return hashMap.containsKey(key); + }, + // remove from hashmap by key + function(key) { + return hashMap.remove(key); + } + ); }; - PVector.sub = function(v1, v2) { - return new PVector(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z); + this.values = function() { + return new Set( + // get value from pair + function(pair) { + return pair.value; + }, + // is-in test + function(value) { + return hashMap.containsValue(value); + }, + // remove from hashmap by value + function(value) { + return hashMap.removeByValue(value); + } + ); }; - PVector.angleBetween = function(v1, v2) { - return Math.acos(v1.dot(v2) / (v1.mag() * v2.mag())); + this.put = function(key, value) { + var index = getBucketIndex(key); + var bucket = buckets[index]; + if (bucket === undefined) { + ++count; + buckets[index] = [{ + key: key, + value: value + }]; + ensureLoad(); + return null; + } + for (var i = 0; i < bucket.length; ++i) { + if (virtEquals(bucket[i].key, key)) { + var previous = bucket[i].value; + bucket[i].value = value; + return previous; + } + } + ++count; + bucket.push({ + key: key, + value: value + }); + ensureLoad(); + return null; }; - PVector.lerp = function(v1, v2, amt) { - // non-static lerp mutates object, but this version returns a new vector - var retval = new PVector(v1.x, v1.y, v1.z); - retval.lerp(v2, amt); - return retval; + this.putAll = function(m) { + var it = m.entrySet().iterator(); + while (it.hasNext()) { + var entry = it.next(); + this.put(entry.getKey(), entry.getValue()); + } }; - // Common vector operations for PVector - PVector.prototype = { - set: function(v, y, z) { - if (arguments.length === 1) { - this.set(v.x || v[0] || 0, - v.y || v[1] || 0, - v.z || v[2] || 0); - } else { - this.x = v; - this.y = y; - this.z = z; - } - }, - get: function() { - return new PVector(this.x, this.y, this.z); - }, - mag: function() { - var x = this.x, - y = this.y, - z = this.z; - return Math.sqrt(x * x + y * y + z * z); - }, - magSq: function() { - var x = this.x, - y = this.y, - z = this.z; - return (x * x + y * y + z * z); - }, - setMag: function(v_or_len, len) { - if (len === undef) { - len = v_or_len; - this.normalize(); - this.mult(len); - } else { - var v = v_or_len; - v.normalize(); - v.mult(len); - return v; - } - }, - add: function(v, y, z) { - if (arguments.length === 1) { - this.x += v.x; - this.y += v.y; - this.z += v.z; - } else { - this.x += v; - this.y += y; - this.z += z; - } - }, - sub: function(v, y, z) { - if (arguments.length === 1) { - this.x -= v.x; - this.y -= v.y; - this.z -= v.z; - } else { - this.x -= v; - this.y -= y; - this.z -= z; - } - }, - mult: function(v) { - if (typeof v === 'number') { - this.x *= v; - this.y *= v; - this.z *= v; - } else { - this.x *= v.x; - this.y *= v.y; - this.z *= v.z; - } - }, - div: function(v) { - if (typeof v === 'number') { - this.x /= v; - this.y /= v; - this.z /= v; - } else { - this.x /= v.x; - this.y /= v.y; - this.z /= v.z; - } - }, - rotate: function(angle) { - var prev_x = this.x; - var c = Math.cos(angle); - var s = Math.sin(angle); - this.x = c * this.x - s * this.y; - this.y = s * prev_x + c * this.y; - }, - dist: function(v) { - var dx = this.x - v.x, - dy = this.y - v.y, - dz = this.z - v.z; - return Math.sqrt(dx * dx + dy * dy + dz * dz); - }, - dot: function(v, y, z) { - if (arguments.length === 1) { - return (this.x * v.x + this.y * v.y + this.z * v.z); - } - return (this.x * v + this.y * y + this.z * z); - }, - cross: function(v) { - var x = this.x, - y = this.y, - z = this.z; - return new PVector(y * v.z - v.y * z, - z * v.x - v.z * x, - x * v.y - v.x * y); - }, - lerp: function(v_or_x, amt_or_y, z, amt) { - var lerp_val = function(start, stop, amt) { - return start + (stop - start) * amt; - }; - var x, y; - if (arguments.length === 2) { - // given vector and amt - amt = amt_or_y; - x = v_or_x.x; - y = v_or_x.y; - z = v_or_x.z; - } else { - // given x, y, z and amt - x = v_or_x; - y = amt_or_y; - } - this.x = lerp_val(this.x, x, amt); - this.y = lerp_val(this.y, y, amt); - this.z = lerp_val(this.z, z, amt); - }, - normalize: function() { - var m = this.mag(); - if (m > 0) { - this.div(m); - } - }, - limit: function(high) { - if (this.mag() > high) { - this.normalize(); - this.mult(high); + this.remove = function(key) { + var index = getBucketIndex(key); + var bucket = buckets[index]; + if (bucket === undefined) { + return null; + } + for (var i = 0; i < bucket.length; ++i) { + if (virtEquals(bucket[i].key, key)) { + --count; + var previous = bucket[i].value; + bucket[i].removed = true; + if (bucket.length > 1) { + bucket.splice(i, 1); + } else { + buckets[index] = undefined; + } + return previous; } - }, - heading: function() { - return (-Math.atan2(-this.y, this.x)); - }, - heading2D: function() { - return this.heading(); - }, - toString: function() { - return "[" + this.x + ", " + this.y + ", " + this.z + "]"; - }, - array: function() { - return [this.x, this.y, this.z]; } + return null; }; - function createPVectorMethod(method) { - return function(v1, v2) { - var v = v1.get(); - v[method](v2); - return v; - }; - } - - for (var method in PVector.prototype) { - if (PVector.prototype.hasOwnProperty(method) && !PVector.hasOwnProperty(method)) { - PVector[method] = createPVectorMethod(method); + this.removeByValue = function(value) { + var bucket, i, ilen, pair; + for (bucket in buckets) { + if (buckets.hasOwnProperty(bucket)) { + for (i = 0, ilen = buckets[bucket].length; i < ilen; i++) { + pair = buckets[bucket][i]; + // removal on values is based on identity, not equality + if (pair.value === value) { + buckets[bucket].splice(i, 1); + return true; + } + } + } } - } + return false; + }; - return PVector; - }()); + this.size = function() { + return count; + }; + } - // Building defaultScope. Changing of the prototype protects - // internal Processing code from the changes in defaultScope - function DefaultScope() {} - DefaultScope.prototype = PConstants; + return HashMap; +}; - var defaultScope = new DefaultScope(); - defaultScope.ArrayList = ArrayList; - defaultScope.HashMap = HashMap; - defaultScope.PVector = PVector; - defaultScope.ObjectIterator = ObjectIterator; - defaultScope.PConstants = PConstants; - //defaultScope.PImage = PImage; // TODO - //defaultScope.PShape = PShape; // TODO - //defaultScope.PShapeSVG = PShapeSVG; // TODO +},{}],8:[function(require,module,exports){ +/** + * Processing.js environment constants + */ +module.exports = { + X: 0, + Y: 1, + Z: 2, - //////////////////////////////////////////////////////////////////////////// - // Class inheritance helper methods - //////////////////////////////////////////////////////////////////////////// + R: 3, + G: 4, + B: 5, + A: 6, - defaultScope.defineProperty = function(obj, name, desc) { - if("defineProperty" in Object) { - Object.defineProperty(obj, name, desc); - } else { - if (desc.hasOwnProperty("get")) { - obj.__defineGetter__(name, desc.get); - } - if (desc.hasOwnProperty("set")) { - obj.__defineSetter__(name, desc.set); - } - } - }; + U: 7, + V: 8, - function overloadBaseClassFunction(object, name, basefn) { - if (!object.hasOwnProperty(name) || typeof object[name] !== 'function') { - // object method is not a function or just inherited from Object.prototype - object[name] = basefn; - return; - } - var fn = object[name]; - if ("$overloads" in fn) { - // the object method already overloaded (see defaultScope.addMethod) - // let's just change a fallback method - fn.$defaultOverload = basefn; - return; - } - if (!("$overloads" in basefn) && fn.length === basefn.length) { - // special case when we just overriding the method - return; - } - var overloads, defaultOverload; - if ("$overloads" in basefn) { - // let's inherit base class overloads to speed up things - overloads = basefn.$overloads.slice(0); - overloads[fn.length] = fn; - defaultOverload = basefn.$defaultOverload; - } else { - overloads = []; - overloads[basefn.length] = basefn; - overloads[fn.length] = fn; - defaultOverload = fn; - } - var hubfn = function() { - var fn = hubfn.$overloads[arguments.length] || - ("$methodArgsIndex" in hubfn && arguments.length > hubfn.$methodArgsIndex ? - hubfn.$overloads[hubfn.$methodArgsIndex] : null) || - hubfn.$defaultOverload; - return fn.apply(this, arguments); - }; - hubfn.$overloads = overloads; - if ("$methodArgsIndex" in basefn) { - hubfn.$methodArgsIndex = basefn.$methodArgsIndex; - } - hubfn.$defaultOverload = defaultOverload; - hubfn.name = name; - object[name] = hubfn; - } + NX: 9, + NY: 10, + NZ: 11, - function extendClass(subClass, baseClass) { - function extendGetterSetter(propertyName) { - defaultScope.defineProperty(subClass, propertyName, { - get: function() { - return baseClass[propertyName]; - }, - set: function(v) { - baseClass[propertyName]=v; - }, - enumerable: true - }); - } + EDGE: 12, - var properties = []; - for (var propertyName in baseClass) { - if (typeof baseClass[propertyName] === 'function') { - overloadBaseClassFunction(subClass, propertyName, baseClass[propertyName]); - } else if(propertyName.charAt(0) !== "$" && !(propertyName in subClass)) { - // Delaying the properties extension due to the IE9 bug (see #918). - properties.push(propertyName); - } - } - while (properties.length > 0) { - extendGetterSetter(properties.shift()); - } + // Stroke + SR: 13, + SG: 14, + SB: 15, + SA: 16, - subClass.$super = baseClass; - } + SW: 17, - defaultScope.extendClassChain = function(base) { - var path = [base]; - for (var self = base.$upcast; self; self = self.$upcast) { - extendClass(self, base); - path.push(self); - base = self; - } - while (path.length > 0) { - path.pop().$self=base; - } - }; + // Transformations (2D and 3D) + TX: 18, + TY: 19, + TZ: 20, - defaultScope.extendStaticMembers = function(derived, base) { - extendClass(derived, base); - }; + VX: 21, + VY: 22, + VZ: 23, + VW: 24, - defaultScope.extendInterfaceMembers = function(derived, base) { - extendClass(derived, base); - }; + // Material properties + AR: 25, + AG: 26, + AB: 27, - defaultScope.addMethod = function(object, name, fn, hasMethodArgs) { - var existingfn = object[name]; - if (existingfn || hasMethodArgs) { - var args = fn.length; - // builds the overload methods table - if ("$overloads" in existingfn) { - existingfn.$overloads[args] = fn; - } else { - var hubfn = function() { - var fn = hubfn.$overloads[arguments.length] || - ("$methodArgsIndex" in hubfn && arguments.length > hubfn.$methodArgsIndex ? - hubfn.$overloads[hubfn.$methodArgsIndex] : null) || - hubfn.$defaultOverload; - return fn.apply(this, arguments); - }; - var overloads = []; - if (existingfn) { - overloads[existingfn.length] = existingfn; - } - overloads[args] = fn; - hubfn.$overloads = overloads; - hubfn.$defaultOverload = existingfn || fn; - if (hasMethodArgs) { - hubfn.$methodArgsIndex = args; - } - hubfn.name = name; - object[name] = hubfn; - } - } else { - object[name] = fn; - } - }; + DR: 3, + DG: 4, + DB: 5, + DA: 6, - function isNumericalJavaType(type) { - if (typeof type !== "string") { - return false; - } - return ["byte", "int", "char", "color", "float", "long", "double"].indexOf(type) !== -1; - } + SPR: 28, + SPG: 29, + SPB: 30, - defaultScope.createJavaArray = function(type, bounds) { - var result = null, - defaultValue = null; - if (typeof type === "string") { - if (type === "boolean") { - defaultValue = false; - } else if (isNumericalJavaType(type)) { - defaultValue = 0; - } - } - if (typeof bounds[0] === 'number') { - var itemsCount = 0 | bounds[0]; - if (bounds.length <= 1) { - result = []; - result.length = itemsCount; - for (var i = 0; i < itemsCount; ++i) { - result[i] = defaultValue; - } - } else { - result = []; - var newBounds = bounds.slice(1); - for (var j = 0; j < itemsCount; ++j) { - result.push(defaultScope.createJavaArray(type, newBounds)); - } - } - } - return result; - }; + SHINE: 31, - var colors = { - aliceblue: "#f0f8ff", - antiquewhite: "#faebd7", - aqua: "#00ffff", - aquamarine: "#7fffd4", - azure: "#f0ffff", - beige: "#f5f5dc", - bisque: "#ffe4c4", - black: "#000000", - blanchedalmond: "#ffebcd", - blue: "#0000ff", - blueviolet: "#8a2be2", - brown: "#a52a2a", - burlywood: "#deb887", - cadetblue: "#5f9ea0", - chartreuse: "#7fff00", - chocolate: "#d2691e", - coral: "#ff7f50", - cornflowerblue: "#6495ed", - cornsilk: "#fff8dc", - crimson: "#dc143c", - cyan: "#00ffff", - darkblue: "#00008b", - darkcyan: "#008b8b", - darkgoldenrod: "#b8860b", - darkgray: "#a9a9a9", - darkgreen: "#006400", - darkkhaki: "#bdb76b", - darkmagenta: "#8b008b", - darkolivegreen: "#556b2f", - darkorange: "#ff8c00", - darkorchid: "#9932cc", - darkred: "#8b0000", - darksalmon: "#e9967a", - darkseagreen: "#8fbc8f", - darkslateblue: "#483d8b", - darkslategray: "#2f4f4f", - darkturquoise: "#00ced1", - darkviolet: "#9400d3", - deeppink: "#ff1493", - deepskyblue: "#00bfff", - dimgray: "#696969", - dodgerblue: "#1e90ff", - firebrick: "#b22222", - floralwhite: "#fffaf0", - forestgreen: "#228b22", - fuchsia: "#ff00ff", - gainsboro: "#dcdcdc", - ghostwhite: "#f8f8ff", - gold: "#ffd700", - goldenrod: "#daa520", - gray: "#808080", - green: "#008000", - greenyellow: "#adff2f", - honeydew: "#f0fff0", - hotpink: "#ff69b4", - indianred: "#cd5c5c", - indigo: "#4b0082", - ivory: "#fffff0", - khaki: "#f0e68c", - lavender: "#e6e6fa", - lavenderblush: "#fff0f5", - lawngreen: "#7cfc00", - lemonchiffon: "#fffacd", - lightblue: "#add8e6", - lightcoral: "#f08080", - lightcyan: "#e0ffff", - lightgoldenrodyellow: "#fafad2", - lightgrey: "#d3d3d3", - lightgreen: "#90ee90", - lightpink: "#ffb6c1", - lightsalmon: "#ffa07a", - lightseagreen: "#20b2aa", - lightskyblue: "#87cefa", - lightslategray: "#778899", - lightsteelblue: "#b0c4de", - lightyellow: "#ffffe0", - lime: "#00ff00", - limegreen: "#32cd32", - linen: "#faf0e6", - magenta: "#ff00ff", - maroon: "#800000", - mediumaquamarine: "#66cdaa", - mediumblue: "#0000cd", - mediumorchid: "#ba55d3", - mediumpurple: "#9370d8", - mediumseagreen: "#3cb371", - mediumslateblue: "#7b68ee", - mediumspringgreen: "#00fa9a", - mediumturquoise: "#48d1cc", - mediumvioletred: "#c71585", - midnightblue: "#191970", - mintcream: "#f5fffa", - mistyrose: "#ffe4e1", - moccasin: "#ffe4b5", - navajowhite: "#ffdead", - navy: "#000080", - oldlace: "#fdf5e6", - olive: "#808000", - olivedrab: "#6b8e23", - orange: "#ffa500", - orangered: "#ff4500", - orchid: "#da70d6", - palegoldenrod: "#eee8aa", - palegreen: "#98fb98", - paleturquoise: "#afeeee", - palevioletred: "#d87093", - papayawhip: "#ffefd5", - peachpuff: "#ffdab9", - peru: "#cd853f", - pink: "#ffc0cb", - plum: "#dda0dd", - powderblue: "#b0e0e6", - purple: "#800080", - red: "#ff0000", - rosybrown: "#bc8f8f", - royalblue: "#4169e1", - saddlebrown: "#8b4513", - salmon: "#fa8072", - sandybrown: "#f4a460", - seagreen: "#2e8b57", - seashell: "#fff5ee", - sienna: "#a0522d", - silver: "#c0c0c0", - skyblue: "#87ceeb", - slateblue: "#6a5acd", - slategray: "#708090", - snow: "#fffafa", - springgreen: "#00ff7f", - steelblue: "#4682b4", - tan: "#d2b48c", - teal: "#008080", - thistle: "#d8bfd8", - tomato: "#ff6347", - turquoise: "#40e0d0", - violet: "#ee82ee", - wheat: "#f5deb3", - white: "#ffffff", - whitesmoke: "#f5f5f5", - yellow: "#ffff00", - yellowgreen: "#9acd32" - }; + ER: 32, + EG: 33, + EB: 34, - // Unsupported Processing File and I/O operations. - (function(Processing) { - var unsupportedP5 = ("open() createOutput() createInput() BufferedReader selectFolder() " + - "dataPath() createWriter() selectOutput() beginRecord() " + - "saveStream() endRecord() selectInput() saveBytes() createReader() " + - "beginRaw() endRaw() PrintWriter delay()").split(" "), - count = unsupportedP5.length, - prettyName, - p5Name; + BEEN_LIT: 35, - function createUnsupportedFunc(n) { - return function() { - throw "Processing.js does not support " + n + "."; - }; - } + VERTEX_FIELD_COUNT: 36, - while (count--) { - prettyName = unsupportedP5[count]; - p5Name = prettyName.replace("()", ""); + // Renderers + P2D: 1, + JAVA2D: 1, + WEBGL: 2, + P3D: 2, + OPENGL: 2, + PDF: 0, + DXF: 0, - Processing[p5Name] = createUnsupportedFunc(prettyName); - } - }(defaultScope)); + // Platform IDs + OTHER: 0, + WINDOWS: 1, + MAXOSX: 2, + LINUX: 3, - // screenWidth and screenHeight are shared by all instances. - // and return the width/height of the browser's viewport. - defaultScope.defineProperty(defaultScope, 'screenWidth', - { get: function() { return window.innerWidth; } }); + EPSILON: 0.0001, - defaultScope.defineProperty(defaultScope, 'screenHeight', - { get: function() { return window.innerHeight; } }); + MAX_FLOAT: 3.4028235e+38, + MIN_FLOAT: -3.4028235e+38, + MAX_INT: 2147483647, + MIN_INT: -2147483648, - // Manage multiple Processing instances - var processingInstances = []; - var processingInstanceIds = {}; + PI: Math.PI, + TWO_PI: 2 * Math.PI, + HALF_PI: Math.PI / 2, + THIRD_PI: Math.PI / 3, + QUARTER_PI: Math.PI / 4, - var removeInstance = function(id) { - processingInstances.splice(processingInstanceIds[id], 1); - delete processingInstanceIds[id]; - }; + DEG_TO_RAD: Math.PI / 180, + RAD_TO_DEG: 180 / Math.PI, - var addInstance = function(processing) { - if (processing.externals.canvas.id === undef || !processing.externals.canvas.id.length) { - processing.externals.canvas.id = "__processing" + processingInstances.length; - } - processingInstanceIds[processing.externals.canvas.id] = processingInstances.length; - processingInstances.push(processing); - }; + WHITESPACE: " \t\n\r\f\u00A0", + // Color modes + RGB: 1, + ARGB: 2, + HSB: 3, + ALPHA: 4, + CMYK: 5, - //////////////////////////////////////////////////////////////////////////// - // PFONT.JS START - //////////////////////////////////////////////////////////////////////////// + // Image file types + TIFF: 0, + TARGA: 1, + JPEG: 2, + GIF: 3, - /** - * [internal function] computeFontMetrics() calculates various metrics for text - * placement. Currently this function computes the ascent, descent and leading - * (from "lead", used for vertical space) values for the currently active font. - */ - function computeFontMetrics(pfont) { - var emQuad = 250, - correctionFactor = pfont.size / emQuad, - canvas = document.createElement("canvas"); - canvas.width = 2*emQuad; - canvas.height = 2*emQuad; - canvas.style.opacity = 0; - var cfmFont = pfont.getCSSDefinition(emQuad+"px", "normal"), - ctx = canvas.getContext("2d"); - ctx.font = cfmFont; + // Filter/convert types + BLUR: 11, + GRAY: 12, + INVERT: 13, + OPAQUE: 14, + POSTERIZE: 15, + THRESHOLD: 16, + ERODE: 17, + DILATE: 18, - // Size the canvas using a string with common max-ascent and max-descent letters. - // Changing the canvas dimensions resets the context, so we must reset the font. - var protrusions = "dbflkhyjqpg"; - canvas.width = ctx.measureText(protrusions).width; - ctx.font = cfmFont; + // Blend modes + REPLACE: 0, + BLEND: 1 << 0, + ADD: 1 << 1, + SUBTRACT: 1 << 2, + LIGHTEST: 1 << 3, + DARKEST: 1 << 4, + DIFFERENCE: 1 << 5, + EXCLUSION: 1 << 6, + MULTIPLY: 1 << 7, + SCREEN: 1 << 8, + OVERLAY: 1 << 9, + HARD_LIGHT: 1 << 10, + SOFT_LIGHT: 1 << 11, + DODGE: 1 << 12, + BURN: 1 << 13, - // for text lead values, we meaure a multiline text container. - var leadDiv = document.createElement("div"); - leadDiv.style.position = "absolute"; - leadDiv.style.opacity = 0; - leadDiv.style.fontFamily = '"' + pfont.name + '"'; - leadDiv.style.fontSize = emQuad + "px"; - leadDiv.innerHTML = protrusions + "
    " + protrusions; - document.body.appendChild(leadDiv); + // Color component bit masks + ALPHA_MASK: 0xff000000, + RED_MASK: 0x00ff0000, + GREEN_MASK: 0x0000ff00, + BLUE_MASK: 0x000000ff, - var w = canvas.width, - h = canvas.height, - baseline = h/2; + // Projection matrices + CUSTOM: 0, + ORTHOGRAPHIC: 2, + PERSPECTIVE: 3, - // Set all canvas pixeldata values to 255, with all the content - // data being 0. This lets us scan for data[i] != 255. - ctx.fillStyle = "white"; - ctx.fillRect(0, 0, w, h); - ctx.fillStyle = "black"; - ctx.fillText(protrusions, 0, baseline); - var pixelData = ctx.getImageData(0, 0, w, h).data; + // Shapes + POINT: 2, + POINTS: 2, + LINE: 4, + LINES: 4, + TRIANGLE: 8, + TRIANGLES: 9, + TRIANGLE_STRIP: 10, + TRIANGLE_FAN: 11, + QUAD: 16, + QUADS: 16, + QUAD_STRIP: 17, + POLYGON: 20, + PATH: 21, + RECT: 30, + ELLIPSE: 31, + ARC: 32, + SPHERE: 40, + BOX: 41, - // canvas pixel data is w*4 by h*4, because R, G, B and A are separate, - // consecutive values in the array, rather than stored as 32 bit ints. - var i = 0, - w4 = w * 4, - len = pixelData.length; + GROUP: 0, + PRIMITIVE: 1, + //PATH: 21, // shared with Shape PATH + GEOMETRY: 3, - // Finding the ascent uses a normal, forward scanline - while (++i < len && pixelData[i] === 255) { - nop(); - } - var ascent = Math.round(i / w4); + // Shape Vertex + VERTEX: 0, + BEZIER_VERTEX: 1, + CURVE_VERTEX: 2, + BREAK: 3, + CLOSESHAPE: 4, + + // Shape closing modes + OPEN: 1, + CLOSE: 2, + + // Shape drawing modes + CORNER: 0, // Draw mode convention to use (x, y) to (width, height) + CORNERS: 1, // Draw mode convention to use (x1, y1) to (x2, y2) coordinates + RADIUS: 2, // Draw mode from the center, and using the radius + CENTER_RADIUS: 2, // Deprecated! Use RADIUS instead + CENTER: 3, // Draw from the center, using second pair of values as the diameter + DIAMETER: 3, // Synonym for the CENTER constant. Draw from the center + CENTER_DIAMETER: 3, // Deprecated! Use DIAMETER instead + + // Text vertical alignment modes + BASELINE: 0, // Default vertical alignment for text placement + TOP: 101, // Align text to the top + BOTTOM: 102, // Align text from the bottom, using the baseline + + // UV Texture coordinate modes + NORMAL: 1, + NORMALIZED: 1, + IMAGE: 2, + + // Text placement modes + MODEL: 4, + SHAPE: 5, + + // Stroke modes + SQUARE: 'butt', + ROUND: 'round', + PROJECT: 'square', + MITER: 'miter', + BEVEL: 'bevel', + + // Lighting modes + AMBIENT: 0, + DIRECTIONAL: 1, + //POINT: 2, Shared with Shape constant + SPOT: 3, + + // Key constants + + // Both key and keyCode will be equal to these values + BACKSPACE: 8, + TAB: 9, + ENTER: 10, + RETURN: 13, + ESC: 27, + DELETE: 127, + CODED: 0xffff, + + // p.key will be CODED and p.keyCode will be this value + SHIFT: 16, + CONTROL: 17, + ALT: 18, + CAPSLK: 20, + PGUP: 33, + PGDN: 34, + END: 35, + HOME: 36, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + F1: 112, + F2: 113, + F3: 114, + F4: 115, + F5: 116, + F6: 117, + F7: 118, + F8: 119, + F9: 120, + F10: 121, + F11: 122, + F12: 123, + NUMLK: 144, + META: 157, + INSERT: 155, + + // Cursor types + ARROW: 'default', + CROSS: 'crosshair', + HAND: 'pointer', + MOVE: 'move', + TEXT: 'text', + WAIT: 'wait', + NOCURSOR: "url('data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=='), auto", + + // Hints + DISABLE_OPENGL_2X_SMOOTH: 1, + ENABLE_OPENGL_2X_SMOOTH: -1, + ENABLE_OPENGL_4X_SMOOTH: 2, + ENABLE_NATIVE_FONTS: 3, + DISABLE_DEPTH_TEST: 4, + ENABLE_DEPTH_TEST: -4, + ENABLE_DEPTH_SORT: 5, + DISABLE_DEPTH_SORT: -5, + DISABLE_OPENGL_ERROR_REPORT: 6, + ENABLE_OPENGL_ERROR_REPORT: -6, + ENABLE_ACCURATE_TEXTURES: 7, + DISABLE_ACCURATE_TEXTURES: -7, + HINT_COUNT: 10, + + // PJS defined constants + SINCOS_LENGTH: 720, // every half degree + PRECISIONB: 15, // fixed point precision is limited to 15 bits!! + PRECISIONF: 1 << 15, + PREC_MAXVAL: (1 << 15) - 1, + PREC_ALPHA_SHIFT: 24 - 15, + PREC_RED_SHIFT: 16 - 15, + NORMAL_MODE_AUTO: 0, + NORMAL_MODE_SHAPE: 1, + NORMAL_MODE_VERTEX: 2, + MAX_LIGHTS: 8 +}; + +},{}],9:[function(require,module,exports){ +// module export +module.exports = function(options,undef) { + var window = options.Browser.window, + document = options.Browser.document, + noop = options.noop; + + /** + * [internal function] computeFontMetrics() calculates various metrics for text + * placement. Currently this function computes the ascent, descent and leading + * (from "lead", used for vertical space) values for the currently active font. + */ + function computeFontMetrics(pfont) { + var emQuad = 250, + correctionFactor = pfont.size / emQuad, + canvas = document.createElement("canvas"); + canvas.width = 2*emQuad; + canvas.height = 2*emQuad; + canvas.style.opacity = 0; + var cfmFont = pfont.getCSSDefinition(emQuad+"px", "normal"), + ctx = canvas.getContext("2d"); + ctx.font = cfmFont; + + // Size the canvas using a string with common max-ascent and max-descent letters. + // Changing the canvas dimensions resets the context, so we must reset the font. + var protrusions = "dbflkhyjqpg"; + canvas.width = ctx.measureText(protrusions).width; + ctx.font = cfmFont; + + // for text lead values, we meaure a multiline text container. + var leadDiv = document.createElement("div"); + leadDiv.style.position = "absolute"; + leadDiv.style.opacity = 0; + leadDiv.style.fontFamily = '"' + pfont.name + '"'; + leadDiv.style.fontSize = emQuad + "px"; + leadDiv.innerHTML = protrusions + "
    " + protrusions; + document.body.appendChild(leadDiv); + + var w = canvas.width, + h = canvas.height, + baseline = h/2; + + // Set all canvas pixeldata values to 255, with all the content + // data being 0. This lets us scan for data[i] != 255. + ctx.fillStyle = "white"; + ctx.fillRect(0, 0, w, h); + ctx.fillStyle = "black"; + ctx.fillText(protrusions, 0, baseline); + var pixelData = ctx.getImageData(0, 0, w, h).data; + + // canvas pixel data is w*4 by h*4, because R, G, B and A are separate, + // consecutive values in the array, rather than stored as 32 bit ints. + var i = 0, + w4 = w * 4, + len = pixelData.length; + + // Finding the ascent uses a normal, forward scanline + while (++i < len && pixelData[i] === 255) { + noop(); + } + var ascent = Math.round(i / w4); // Finding the descent uses a reverse scanline i = len - 1; while (--i > 0 && pixelData[i] === 255) { - nop(); + noop(); } var descent = Math.round(i / w4); @@ -2122,6617 +2238,7380 @@ } }; - // add to the default scope - defaultScope.PFont = PFont; + return PFont; +}; +},{}],10:[function(require,module,exports){ +module.exports = (function(charMap, undef) { + + var Char = function(chr) { + if (typeof chr === 'string' && chr.length === 1) { + this.code = chr.charCodeAt(0); + } else if (typeof chr === 'number') { + this.code = chr; + } else if (chr instanceof Char) { + this.code = chr; + } else { + this.code = NaN; + } + return (charMap[this.code] === undef) ? charMap[this.code] = this : charMap[this.code]; + }; + Char.prototype.toString = function() { + return String.fromCharCode(this.code); + }; - //////////////////////////////////////////////////////////////////////////// - // PFONT.JS END - //////////////////////////////////////////////////////////////////////////// + Char.prototype.valueOf = function() { + return this.code; + }; + return Char; +}({})); - var Processing = this.Processing = function(aCanvas, aCode) { - // Previously we allowed calling Processing as a func instead of ctor, but no longer. - if (!(this instanceof Processing)) { - throw("called Processing constructor as if it were a function: missing 'new'."); - } +},{}],11:[function(require,module,exports){ +module.exports = function(options, undef) { + var PConstants = options.PConstants; - var curElement, - pgraphicsMode = (aCanvas === undef && aCode === undef); + function PVector(x, y, z) { + this.x = x || 0; + this.y = y || 0; + this.z = z || 0; + } - if (pgraphicsMode) { - curElement = document.createElement("canvas"); - } else { - // We'll take a canvas element or a string for a canvas element's id - curElement = typeof aCanvas === "string" ? document.getElementById(aCanvas) : aCanvas; + PVector.fromAngle = function(angle, v) { + if (v === undef || v === null) { + v = new PVector(); } + v.x = Math.cos(angle); + v.y = Math.sin(angle); + return v; + }; - if (!('getContext' in curElement)) { - throw("called Processing constructor without passing canvas element reference or id."); - } + PVector.random2D = function(v) { + return PVector.fromAngle(Math.random() * PConstants.TWO_PI, v); + }; - function unimplemented(s) { - Processing.debug('Unimplemented - ' + s); + PVector.random3D = function(v) { + var angle = Math.random() * PConstants.TWO_PI; + var vz = Math.random() * 2 - 1; + var mult = Math.sqrt(1 - vz * vz); + var vx = mult * Math.cos(angle); + var vy = mult * Math.sin(angle); + if (v === undef || v === null) { + v = new PVector(vx, vy, vz); + } else { + v.set(vx, vy, vz); } + return v; + }; - // When something new is added to "p." it must also be added to the "names" array. - // The names array contains the names of everything that is inside "p." - var p = this; - - // PJS specific (non-p5) methods and properties to externalize - p.externals = { - canvas: curElement, - context: undef, - sketch: undef - }; + PVector.dist = function(v1, v2) { + return v1.dist(v2); + }; - p.name = 'Processing.js Instance'; // Set Processing defaults / environment variables - p.use3DContext = false; // default '2d' canvas context + PVector.dot = function(v1, v2) { + return v1.dot(v2); + }; - /** - * Confirms if a Processing program is "focused", meaning that it is - * active and will accept input from mouse or keyboard. This variable - * is "true" if it is focused and "false" if not. This variable is - * often used when you want to warn people they need to click on the - * browser before it will work. - */ - p.focused = false; - p.breakShape = false; + PVector.cross = function(v1, v2) { + return v1.cross(v2); + }; - // Glyph path storage for textFonts - p.glyphTable = {}; + PVector.sub = function(v1, v2) { + return new PVector(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z); + }; - // Global vars for tracking mouse position - p.pmouseX = 0; - p.pmouseY = 0; - p.mouseX = 0; - p.mouseY = 0; - p.mouseButton = 0; - p.mouseScroll = 0; + PVector.angleBetween = function(v1, v2) { + return Math.acos(v1.dot(v2) / (v1.mag() * v2.mag())); + }; - // Undefined event handlers to be replaced by user when needed - p.mouseClicked = undef; - p.mouseDragged = undef; - p.mouseMoved = undef; - p.mousePressed = undef; - p.mouseReleased = undef; - p.mouseScrolled = undef; - p.mouseOver = undef; - p.mouseOut = undef; - p.touchStart = undef; - p.touchEnd = undef; - p.touchMove = undef; - p.touchCancel = undef; - p.key = undef; - p.keyCode = undef; - p.keyPressed = nop; // needed to remove function checks - p.keyReleased = nop; - p.keyTyped = nop; - p.draw = undef; - p.setup = undef; + PVector.lerp = function(v1, v2, amt) { + // non-static lerp mutates object, but this version returns a new vector + var retval = new PVector(v1.x, v1.y, v1.z); + retval.lerp(v2, amt); + return retval; + }; - // Remapped vars - p.__mousePressed = false; - p.__keyPressed = false; - p.__frameRate = 60; - - // The current animation frame - p.frameCount = 0; - - // The height/width of the canvas - p.width = 100; - p.height = 100; - - // "Private" variables used to maintain state - var curContext, - curSketch, - drawing, // hold a Drawing2D or Drawing3D object - doFill = true, - fillStyle = [1.0, 1.0, 1.0, 1.0], - currentFillColor = 0xFFFFFFFF, - isFillDirty = true, - doStroke = true, - strokeStyle = [0.0, 0.0, 0.0, 1.0], - currentStrokeColor = 0xFF000000, - isStrokeDirty = true, - lineWidth = 1, - loopStarted = false, - renderSmooth = false, - doLoop = true, - looping = 0, - curRectMode = PConstants.CORNER, - curEllipseMode = PConstants.CENTER, - normalX = 0, - normalY = 0, - normalZ = 0, - normalMode = PConstants.NORMAL_MODE_AUTO, - curFrameRate = 60, - curMsPerFrame = 1000/curFrameRate, - curCursor = PConstants.ARROW, - oldCursor = curElement.style.cursor, - curShape = PConstants.POLYGON, - curShapeCount = 0, - curvePoints = [], - curTightness = 0, - curveDet = 20, - curveInited = false, - backgroundObj = -3355444, // rgb(204, 204, 204) is the default gray background colour - bezDetail = 20, - colorModeA = 255, - colorModeX = 255, - colorModeY = 255, - colorModeZ = 255, - pathOpen = false, - mouseDragging = false, - pmouseXLastFrame = 0, - pmouseYLastFrame = 0, - curColorMode = PConstants.RGB, - curTint = null, - curTint3d = null, - getLoaded = false, - start = Date.now(), - timeSinceLastFPS = start, - framesSinceLastFPS = 0, - textcanvas, - curveBasisMatrix, - curveToBezierMatrix, - curveDrawMatrix, - bezierDrawMatrix, - bezierBasisInverse, - bezierBasisMatrix, - curContextCache = { attributes: {}, locations: {} }, - // Shaders - programObject3D, - programObject2D, - programObjectUnlitShape, - boxBuffer, - boxNormBuffer, - boxOutlineBuffer, - rectBuffer, - rectNormBuffer, - sphereBuffer, - lineBuffer, - fillBuffer, - fillColorBuffer, - strokeColorBuffer, - pointBuffer, - shapeTexVBO, - canTex, // texture for createGraphics - textTex, // texture for 3d tex - curTexture = {width:0,height:0}, - curTextureMode = PConstants.IMAGE, - usingTexture = false, - textBuffer, - textureBuffer, - indexBuffer, - // Text alignment - horizontalTextAlignment = PConstants.LEFT, - verticalTextAlignment = PConstants.BASELINE, - textMode = PConstants.MODEL, - // Font state - curFontName = "Arial", - curTextSize = 12, - curTextAscent = 9, - curTextDescent = 2, - curTextLeading = 14, - curTextFont = PFont.get(curFontName, curTextSize), - // Pixels cache - originalContext, - proxyContext = null, - isContextReplaced = false, - setPixelsCached, - maxPixelsCached = 1000, - pressedKeysMap = [], - lastPressedKeyCode = null, - codedKeys = [ PConstants.SHIFT, PConstants.CONTROL, PConstants.ALT, PConstants.CAPSLK, PConstants.PGUP, PConstants.PGDN, - PConstants.END, PConstants.HOME, PConstants.LEFT, PConstants.UP, PConstants.RIGHT, PConstants.DOWN, PConstants.NUMLK, - PConstants.INSERT, PConstants.F1, PConstants.F2, PConstants.F3, PConstants.F4, PConstants.F5, PConstants.F6, PConstants.F7, - PConstants.F8, PConstants.F9, PConstants.F10, PConstants.F11, PConstants.F12, PConstants.META ]; - - // Get padding and border style widths for mouse offsets - var stylePaddingLeft, stylePaddingTop, styleBorderLeft, styleBorderTop; - - if (document.defaultView && document.defaultView.getComputedStyle) { - stylePaddingLeft = parseInt(document.defaultView.getComputedStyle(curElement, null)['paddingLeft'], 10) || 0; - stylePaddingTop = parseInt(document.defaultView.getComputedStyle(curElement, null)['paddingTop'], 10) || 0; - styleBorderLeft = parseInt(document.defaultView.getComputedStyle(curElement, null)['borderLeftWidth'], 10) || 0; - styleBorderTop = parseInt(document.defaultView.getComputedStyle(curElement, null)['borderTopWidth'], 10) || 0; + // Common vector operations for PVector + PVector.prototype = { + set: function(v, y, z) { + if (arguments.length === 1) { + this.set(v.x || v[0] || 0, + v.y || v[1] || 0, + v.z || v[2] || 0); + } else { + this.x = v; + this.y = y; + this.z = z; + } + }, + get: function() { + return new PVector(this.x, this.y, this.z); + }, + mag: function() { + var x = this.x, + y = this.y, + z = this.z; + return Math.sqrt(x * x + y * y + z * z); + }, + magSq: function() { + var x = this.x, + y = this.y, + z = this.z; + return (x * x + y * y + z * z); + }, + setMag: function(v_or_len, len) { + if (len === undef) { + len = v_or_len; + this.normalize(); + this.mult(len); + } else { + var v = v_or_len; + v.normalize(); + v.mult(len); + return v; + } + }, + add: function(v, y, z) { + if (arguments.length === 1) { + this.x += v.x; + this.y += v.y; + this.z += v.z; + } else { + this.x += v; + this.y += y; + this.z += z; + } + }, + sub: function(v, y, z) { + if (arguments.length === 1) { + this.x -= v.x; + this.y -= v.y; + this.z -= v.z; + } else { + this.x -= v; + this.y -= y; + this.z -= z; + } + }, + mult: function(v) { + if (typeof v === 'number') { + this.x *= v; + this.y *= v; + this.z *= v; + } else { + this.x *= v.x; + this.y *= v.y; + this.z *= v.z; + } + }, + div: function(v) { + if (typeof v === 'number') { + this.x /= v; + this.y /= v; + this.z /= v; + } else { + this.x /= v.x; + this.y /= v.y; + this.z /= v.z; + } + }, + rotate: function(angle) { + var prev_x = this.x; + var c = Math.cos(angle); + var s = Math.sin(angle); + this.x = c * this.x - s * this.y; + this.y = s * prev_x + c * this.y; + }, + dist: function(v) { + var dx = this.x - v.x, + dy = this.y - v.y, + dz = this.z - v.z; + return Math.sqrt(dx * dx + dy * dy + dz * dz); + }, + dot: function(v, y, z) { + if (arguments.length === 1) { + return (this.x * v.x + this.y * v.y + this.z * v.z); + } + return (this.x * v + this.y * y + this.z * z); + }, + cross: function(v) { + var x = this.x, + y = this.y, + z = this.z; + return new PVector(y * v.z - v.y * z, + z * v.x - v.z * x, + x * v.y - v.x * y); + }, + lerp: function(v_or_x, amt_or_y, z, amt) { + var lerp_val = function(start, stop, amt) { + return start + (stop - start) * amt; + }; + var x, y; + if (arguments.length === 2) { + // given vector and amt + amt = amt_or_y; + x = v_or_x.x; + y = v_or_x.y; + z = v_or_x.z; + } else { + // given x, y, z and amt + x = v_or_x; + y = amt_or_y; + } + this.x = lerp_val(this.x, x, amt); + this.y = lerp_val(this.y, y, amt); + this.z = lerp_val(this.z, z, amt); + }, + normalize: function() { + var m = this.mag(); + if (m > 0) { + this.div(m); + } + }, + limit: function(high) { + if (this.mag() > high) { + this.normalize(); + this.mult(high); + } + }, + heading: function() { + return (-Math.atan2(-this.y, this.x)); + }, + heading2D: function() { + return this.heading(); + }, + toString: function() { + return "[" + this.x + ", " + this.y + ", " + this.z + "]"; + }, + array: function() { + return [this.x, this.y, this.z]; } + }; - // User can only have MAX_LIGHTS lights - var lightCount = 0; - - //sphere stuff - var sphereDetailV = 0, - sphereDetailU = 0, - sphereX = [], - sphereY = [], - sphereZ = [], - sinLUT = new Float32Array(PConstants.SINCOS_LENGTH), - cosLUT = new Float32Array(PConstants.SINCOS_LENGTH), - sphereVerts, - sphereNorms; - - // Camera defaults and settings - var cam, - cameraInv, - modelView, - modelViewInv, - userMatrixStack, - userReverseMatrixStack, - inverseCopy, - projection, - manipulatingCamera = false, - frustumMode = false, - cameraFOV = 60 * (Math.PI / 180), - cameraX = p.width / 2, - cameraY = p.height / 2, - cameraZ = cameraY / Math.tan(cameraFOV / 2), - cameraNear = cameraZ / 10, - cameraFar = cameraZ * 10, - cameraAspect = p.width / p.height; + function createPVectorMethod(method) { + return function(v1, v2) { + var v = v1.get(); + v[method](v2); + return v; + }; + } - var vertArray = [], - curveVertArray = [], - curveVertCount = 0, - isCurve = false, - isBezier = false, - firstVert = true; + for (var method in PVector.prototype) { + if (PVector.prototype.hasOwnProperty(method) && !PVector.hasOwnProperty(method)) { + PVector[method] = createPVectorMethod(method); + } + } - //PShape stuff - var curShapeMode = PConstants.CORNER; + return PVector; +}; + + +},{}],12:[function(require,module,exports){ +/** + * XMLElement is a representation of an XML object. The object is able to parse XML code + * + * @param {PApplet} parent typically use "this" + * @param {String} filename name of the XML/SVG file to load + * @param {String} xml the xml/svg string + * @param {String} fullname the full name of the element + * @param {String} namespace the namespace of the URI + * @param {String} systemID the system ID of the XML data where the element starts + * @param {Integer }lineNr the line in the XML data where the element starts + */ +module.exports = function(options, undef) { + + var Browser = options.Browser, + ajax = Browser.ajax, + window = Browser.window, + XMLHttpRequest = window.XMLHttpRequest, + DOMParser = window.DOMParser, + XMLAttribute = options. XMLAttribute; + + var XMLElement = function(selector, uri, sysid, line) { + this.attributes = []; + this.children = []; + this.fullName = null; + this.name = null; + this.namespace = ""; + this.content = null; + this.parent = null; + this.lineNr = ""; + this.systemID = ""; + this.type = "ELEMENT"; + + if (selector) { + if (typeof selector === "string") { + if (uri === undef && selector.indexOf("<") > -1) { + // load XML from text string + this.parse(selector); + } else { + // XMLElement(fullname, namespace, sysid, line) format + this.fullName = selector; + this.namespace = uri; + this.systemId = sysid; + this.lineNr = line; + } + } else { + // XMLElement(this,file) format + this.parse(uri); + } + } + }; + /** + * XMLElement methods + * missing: enumerateAttributeNames(), enumerateChildren(), + * NOTE: parse does not work when a url is passed in + */ + XMLElement.prototype = { + /** + * @member XMLElement + * The parse() function retrieves the file via ajax() and uses DOMParser() + * parseFromString method to make an XML document + * @addon + * + * @param {String} filename name of the XML/SVG file to load + * + * @throws ExceptionType Error loading document + * + * @see XMLElement#parseChildrenRecursive + */ + parse: function(textstring) { + var xmlDoc; + try { + var extension = textstring.substring(textstring.length-4); + if (extension === ".xml" || extension === ".svg") { + textstring = ajax(textstring); + } + xmlDoc = new DOMParser().parseFromString(textstring, "text/xml"); + var elements = xmlDoc.documentElement; + if (elements) { + this.parseChildrenRecursive(null, elements); + } else { + throw ("Error loading document"); + } + return this; + } catch(e) { + throw(e); + } + }, + /** + * @member XMLElement + * Internal helper function for parse(). + * Loops through the + * @addon + * + * @param {XMLElement} parent the parent node + * @param {XML document childNodes} elementpath the remaining nodes that need parsing + * + * @return {XMLElement} the new element and its children elements + */ + parseChildrenRecursive: function (parent, elementpath){ + var xmlelement, + xmlattribute, + tmpattrib, + l, m, + child; + if (!parent) { // this element is the root element + this.fullName = elementpath.localName; + this.name = elementpath.nodeName; + xmlelement = this; + } else { // this element has a parent + xmlelement = new XMLElement(elementpath.nodeName); + xmlelement.parent = parent; + } + + // if this is a text node, return a PCData element (parsed character data) + if (elementpath.nodeType === 3 && elementpath.textContent !== "") { + return this.createPCDataElement(elementpath.textContent); + } + + // if this is a CDATA node, return a CData element (unparsed character data) + if (elementpath.nodeType === 4) { + return this.createCDataElement(elementpath.textContent); + } + + // bind all attributes, if there are any + if (elementpath.attributes) { + for (l = 0, m = elementpath.attributes.length; l < m; l++) { + tmpattrib = elementpath.attributes[l]; + xmlattribute = new XMLAttribute(tmpattrib.getname, + tmpattrib.nodeName, + tmpattrib.namespaceURI, + tmpattrib.nodeValue, + tmpattrib.nodeType); + xmlelement.attributes.push(xmlattribute); + } + } + + // bind all children, if there are any + if (elementpath.childNodes) { + for (l = 0, m = elementpath.childNodes.length; l < m; l++) { + var node = elementpath.childNodes[l]; + child = xmlelement.parseChildrenRecursive(xmlelement, node); + if (child !== null) { + xmlelement.children.push(child); + } + } + } - // Stores states for pushStyle() and popStyle(). - var styleArray = []; + return xmlelement; + }, + /** + * @member XMLElement + * The createElement() function Creates an empty element + * + * @param {String} fullName the full name of the element + * @param {String} namespace the namespace URI + * @param {String} systemID the system ID of the XML data where the element starts + * @param {int} lineNr the line in the XML data where the element starts + */ + createElement: function (fullname, namespaceuri, sysid, line) { + if (sysid === undef) { + return new XMLElement(fullname, namespaceuri); + } + return new XMLElement(fullname, namespaceuri, sysid, line); + }, + /** + * @member XMLElement + * The createPCDataElement() function creates an element to be used for #PCDATA content. + * Because Processing discards whitespace TEXT nodes, this method will not build an element + * if the passed content is empty after trimming for whitespace. + * + * @return {XMLElement} new "pcdata" XMLElement, or null if content consists only of whitespace + */ + createPCDataElement: function (content, isCDATA) { + if (content.replace(/^\s+$/g,"") === "") { + return null; + } + var pcdata = new XMLElement(); + pcdata.type = "TEXT"; + pcdata.content = content; + return pcdata; + }, + /** + * @member XMLElement + * The createCDataElement() function creates an element to be used for CDATA content. + * + * @return {XMLElement} new "cdata" XMLElement, or null if content consists only of whitespace + */ + createCDataElement: function (content) { + var cdata = this.createPCDataElement(content); + if (cdata === null) { + return null; + } - // The vertices for the box cannot be specified using a triangle strip since each - // side of the cube must have its own set of normals. - // Vertices are specified in a counter-clockwise order. - // Triangles are in this order: back, front, right, bottom, left, top. - var boxVerts = new Float32Array([ - 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, - 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, - 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, - 0.5, -0.5, -0.5, 0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, - -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, - 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5]); + cdata.type = "CDATA"; + var htmlentities = {"<": "<", ">": ">", "'": "'", '"': """}, + entity; + for (entity in htmlentities) { + if (!Object.hasOwnProperty(htmlentities,entity)) { + content = content.replace(new RegExp(entity, "g"), htmlentities[entity]); + } + } + cdata.cdata = content; + return cdata; + }, + /** + * @member XMLElement + * The hasAttribute() function returns whether an attribute exists + * + * @param {String} name name of the attribute + * @param {String} namespace the namespace URI of the attribute + * + * @return {boolean} true if the attribute exists + */ + hasAttribute: function () { + if (arguments.length === 1) { + return this.getAttribute(arguments[0]) !== null; + } + if (arguments.length === 2) { + return this.getAttribute(arguments[0],arguments[1]) !== null; + } + }, + /** + * @member XMLElement + * The equals() function checks to see if the XMLElement being passed in equals another XMLElement + * + * @param {XMLElement} rawElement the element to compare to + * + * @return {boolean} true if the element equals another element + */ + equals: function(other) { + if (!(other instanceof XMLElement)) { + return false; + } + var i, j; + if (this.fullName !== other.fullName) { return false; } + if (this.attributes.length !== other.getAttributeCount()) { return false; } + // attributes may be ordered differently + if (this.attributes.length !== other.attributes.length) { return false; } + var attr_name, attr_ns, attr_value, attr_type, attr_other; + for (i = 0, j = this.attributes.length; i < j; i++) { + attr_name = this.attributes[i].getName(); + attr_ns = this.attributes[i].getNamespace(); + attr_other = other.findAttribute(attr_name, attr_ns); + if (attr_other === null) { return false; } + if (this.attributes[i].getValue() !== attr_other.getValue()) { return false; } + if (this.attributes[i].getType() !== attr_other.getType()) { return false; } + } + // children must be ordered identically + if (this.children.length !== other.getChildCount()) { return false; } + if (this.children.length>0) { + var child1, child2; + for (i = 0, j = this.children.length; i < j; i++) { + child1 = this.getChild(i); + child2 = other.getChild(i); + if (!child1.equals(child2)) { return false; } + } + return true; + } + return (this.content === other.content); + }, + /** + * @member XMLElement + * The getContent() function returns the content of an element. If there is no such content, null is returned + * + * @return {String} the (possibly null) content + */ + getContent: function(){ + if (this.type === "TEXT" || this.type === "CDATA") { + return this.content; + } + var children = this.children; + if (children.length === 1 && (children[0].type === "TEXT" || children[0].type === "CDATA")) { + return children[0].content; + } + return null; + }, + /** + * @member XMLElement + * The getAttribute() function returns the value of an attribute + * + * @param {String} name the non-null full name of the attribute + * @param {String} namespace the namespace URI, which may be null + * @param {String} defaultValue the default value of the attribute + * + * @return {String} the value, or defaultValue if the attribute does not exist + */ + getAttribute: function (){ + var attribute; + if (arguments.length === 2) { + attribute = this.findAttribute(arguments[0]); + if (attribute) { + return attribute.getValue(); + } + return arguments[1]; + } else if (arguments.length === 1) { + attribute = this.findAttribute(arguments[0]); + if (attribute) { + return attribute.getValue(); + } + return null; + } else if (arguments.length === 3) { + attribute = this.findAttribute(arguments[0],arguments[1]); + if (attribute) { + return attribute.getValue(); + } + return arguments[2]; + } + }, + /** + * @member XMLElement + * The getStringAttribute() function returns the string attribute of the element + * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. + * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. + * + * @param name the name of the attribute + * @param defaultValue value returned if the attribute is not found + * + * @return {String} the value, or defaultValue if the attribute does not exist + */ + getStringAttribute: function() { + if (arguments.length === 1) { + return this.getAttribute(arguments[0]); + } + if (arguments.length === 2) { + return this.getAttribute(arguments[0], arguments[1]); + } + return this.getAttribute(arguments[0], arguments[1],arguments[2]); + }, + /** + * Processing 1.5 XML API wrapper for the generic String + * attribute getter. This may only take one argument. + */ + getString: function(attributeName) { + return this.getStringAttribute(attributeName); + }, + /** + * @member XMLElement + * The getFloatAttribute() function returns the float attribute of the element. + * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. + * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. + * + * @param name the name of the attribute + * @param defaultValue value returned if the attribute is not found + * + * @return {float} the value, or defaultValue if the attribute does not exist + */ + getFloatAttribute: function() { + if (arguments.length === 1 ) { + return parseFloat(this.getAttribute(arguments[0], 0)); + } + if (arguments.length === 2 ) { + return this.getAttribute(arguments[0], arguments[1]); + } + return this.getAttribute(arguments[0], arguments[1],arguments[2]); + }, + /** + * Processing 1.5 XML API wrapper for the generic float + * attribute getter. This may only take one argument. + */ + getFloat: function(attributeName) { + return this.getFloatAttribute(attributeName); + }, + /** + * @member XMLElement + * The getIntAttribute() function returns the integer attribute of the element. + * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. + * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. + * + * @param name the name of the attribute + * @param defaultValue value returned if the attribute is not found + * + * @return {int} the value, or defaultValue if the attribute does not exist + */ + getIntAttribute: function () { + if (arguments.length === 1) { + return this.getAttribute( arguments[0], 0 ); + } + if (arguments.length === 2) { + return this.getAttribute(arguments[0], arguments[1]); + } + return this.getAttribute(arguments[0], arguments[1],arguments[2]); + }, + /** + * Processing 1.5 XML API wrapper for the generic int + * attribute getter. This may only take one argument. + */ + getInt: function(attributeName) { + return this.getIntAttribute(attributeName); + }, + /** + * @member XMLElement + * The hasChildren() function returns whether the element has children. + * + * @return {boolean} true if the element has children. + */ + hasChildren: function () { + return this.children.length > 0 ; + }, + /** + * @member XMLElement + * The addChild() function adds a child element + * + * @param {XMLElement} child the non-null child to add. + */ + addChild: function (child) { + if (child !== null) { + child.parent = this; + this.children.push(child); + } + }, + /** + * @member XMLElement + * The insertChild() function inserts a child element at the index provided + * + * @param {XMLElement} child the non-null child to add. + * @param {int} index where to put the child. + */ + insertChild: function (child, index) { + if (child) { + if ((child.getLocalName() === null) && (! this.hasChildren())) { + var lastChild = this.children[this.children.length -1]; + if (lastChild.getLocalName() === null) { + lastChild.setContent(lastChild.getContent() + child.getContent()); + return; + } + } + child.parent = this; + this.children.splice(index,0,child); + } + }, + /** + * @member XMLElement + * The getChild() returns the child XMLElement as specified by the index parameter. + * The value of the index parameter must be less than the total number of children to avoid going out of the array storing the child elements. + * When the path parameter is specified, then it will return all children that match that path. The path is a series of elements and sub-elements, separated by slashes. + * + * @param {int} index where to put the child. + * @param {String} path path to a particular element + * + * @return {XMLElement} the element + */ + getChild: function (selector) { + if (typeof selector === "number") { + return this.children[selector]; + } + if (selector.indexOf('/') !== -1) { + // path traversal is required + return this.getChildRecursive(selector.split("/"), 0); + } + var kid, kidName; + for (var i = 0, j = this.getChildCount(); i < j; i++) { + kid = this.getChild(i); + kidName = kid.getName(); + if (kidName !== null && kidName === selector) { + return kid; + } + } + return null; + }, + /** + * @member XMLElement + * The getChildren() returns all of the children as an XMLElement array. + * When the path parameter is specified, then it will return all children that match that path. + * The path is a series of elements and sub-elements, separated by slashes. + * + * @param {String} path element name or path/to/element + * + * @return {XMLElement} array of child elements that match + * + * @see XMLElement#getChildCount() + * @see XMLElement#getChild() + */ + getChildren: function(){ + if (arguments.length === 1) { + if (typeof arguments[0] === "number") { + return this.getChild( arguments[0]); + } + if (arguments[0].indexOf('/') !== -1) { // path was given + return this.getChildrenRecursive( arguments[0].split("/"), 0); + } + var matches = []; + var kid, kidName; + for (var i = 0, j = this.getChildCount(); i < j; i++) { + kid = this.getChild(i); + kidName = kid.getName(); + if (kidName !== null && kidName === arguments[0]) { + matches.push(kid); + } + } + return matches; + } + return this.children; + }, + /** + * @member XMLElement + * The getChildCount() returns the number of children for the element. + * + * @return {int} the count + * + * @see XMLElement#getChild() + * @see XMLElement#getChildren() + */ + getChildCount: function() { + return this.children.length; + }, + /** + * @member XMLElement + * Internal helper function for getChild(). + * + * @param {String[]} items result of splitting the query on slashes + * @param {int} offset where in the items[] array we're currently looking + * + * @return {XMLElement} matching element or null if no match + */ + getChildRecursive: function (items, offset) { + // terminating clause: we are the requested candidate + if (offset === items.length) { + return this; + } + // continuation clause + var kid, kidName, matchName = items[offset]; + for(var i = 0, j = this.getChildCount(); i < j; i++) { + kid = this.getChild(i); + kidName = kid.getName(); + if (kidName !== null && kidName === matchName) { + return kid.getChildRecursive(items, offset+1); + } + } + return null; + }, + /** + * @member XMLElement + * Internal helper function for getChildren(). + * + * @param {String[]} items result of splitting the query on slashes + * @param {int} offset where in the items[] array we're currently looking + * + * @return {XMLElement[]} matching elements or empty array if no match + */ + getChildrenRecursive: function (items, offset) { + if (offset === items.length-1) { + return this.getChildren(items[offset]); + } + var matches = this.getChildren(items[offset]); + var kidMatches = []; + for (var i = 0; i < matches.length; i++) { + kidMatches = kidMatches.concat(matches[i].getChildrenRecursive(items, offset+1)); + } + return kidMatches; + }, + /** + * @member XMLElement + * The isLeaf() function returns whether the element is a leaf element. + * + * @return {boolean} true if the element has no children. + */ + isLeaf: function() { + return !this.hasChildren(); + }, + /** + * @member XMLElement + * The listChildren() function put the names of all children into an array. Same as looping through + * each child and calling getName() on each XMLElement. + * + * @return {String[]} a list of element names. + */ + listChildren: function() { + var arr = []; + for (var i = 0, j = this.children.length; i < j; i++) { + arr.push( this.getChild(i).getName()); + } + return arr; + }, + /** + * @member XMLElement + * The removeAttribute() function removes an attribute + * + * @param {String} name the non-null name of the attribute. + * @param {String} namespace the namespace URI of the attribute, which may be null. + */ + removeAttribute: function (name , namespace) { + this.namespace = namespace || ""; + for (var i = 0, j = this.attributes.length; i < j; i++) { + if (this.attributes[i].getName() === name && this.attributes[i].getNamespace() === this.namespace) { + this.attributes.splice(i, 1); + break; + } + } + }, + /** + * @member XMLElement + * The removeChild() removes a child element. + * + * @param {XMLElement} child the the non-null child to be renoved + */ + removeChild: function(child) { + if (child) { + for (var i = 0, j = this.children.length; i < j; i++) { + if (this.children[i].equals(child)) { + this.children.splice(i, 1); + break; + } + } + } + }, + /** + * @member XMLElement + * The removeChildAtIndex() removes the child located at a certain index + * + * @param {int} index the index of the child, where the first child has index 0 + */ + removeChildAtIndex: function(index) { + if (this.children.length > index) { //make sure its not outofbounds + this.children.splice(index, 1); + } + }, + /** + * @member XMLElement + * The findAttribute() function searches an attribute + * + * @param {String} name fullName the non-null full name of the attribute + * @param {String} namespace the name space, which may be null + * + * @return {XMLAttribute} the attribute, or null if the attribute does not exist. + */ + findAttribute: function (name, namespace) { + this.namespace = namespace || ""; + for (var i = 0, j = this.attributes.length; i < j; i++) { + if (this.attributes[i].getName() === name && this.attributes[i].getNamespace() === this.namespace) { + return this.attributes[i]; + } + } + return null; + }, + /** + * @member XMLElement + * The setAttribute() function sets an attribute. + * + * @param {String} name the non-null full name of the attribute + * @param {String} namespace the non-null value of the attribute + */ + setAttribute: function() { + var attr; + if (arguments.length === 3) { + var index = arguments[0].indexOf(':'); + var name = arguments[0].substring(index + 1); + attr = this.findAttribute(name, arguments[1]); + if (attr) { + attr.setValue(arguments[2]); + } else { + attr = new XMLAttribute(arguments[0], name, arguments[1], arguments[2], "CDATA"); + this.attributes.push(attr); + } + } else { + attr = this.findAttribute(arguments[0]); + if (attr) { + attr.setValue(arguments[1]); + } else { + attr = new XMLAttribute(arguments[0], arguments[0], null, arguments[1], "CDATA"); + this.attributes.push(attr); + } + } + }, + /** + * Processing 1.5 XML API wrapper for the generic String + * attribute setter. This must take two arguments. + */ + setString: function(attribute, value) { + this.setAttribute(attribute, value); + }, + /** + * Processing 1.5 XML API wrapper for the generic int + * attribute setter. This must take two arguments. + */ + setInt: function(attribute, value) { + this.setAttribute(attribute, value); + }, + /** + * Processing 1.5 XML API wrapper for the generic float + * attribute setter. This must take two arguments. + */ + setFloat: function(attribute, value) { + this.setAttribute(attribute, value); + }, + /** + * @member XMLElement + * The setContent() function sets the #PCDATA content. It is an error to call this method with a + * non-null value if there are child objects. + * + * @param {String} content the (possibly null) content + */ + setContent: function(content) { + if (this.children.length > 0) { + Processing.debug("Tried to set content for XMLElement with children"); } + this.content = content; + }, + /** + * @member XMLElement + * The setName() function sets the full name. This method also sets the short name and clears the + * namespace URI. + * + * @param {String} name the non-null name + * @param {String} namespace the namespace URI, which may be null. + */ + setName: function() { + if (arguments.length === 1) { + this.name = arguments[0]; + this.fullName = arguments[0]; + this.namespace = null; + } else { + var index = arguments[0].indexOf(':'); + if ((arguments[1] === null) || (index < 0)) { + this.name = arguments[0]; + } else { + this.name = arguments[0].substring(index + 1); + } + this.fullName = arguments[0]; + this.namespace = arguments[1]; + } + }, + /** + * @member XMLElement + * The getName() function returns the full name (i.e. the name including an eventual namespace + * prefix) of the element. + * + * @return {String} the name, or null if the element only contains #PCDATA. + */ + getName: function() { + return this.fullName; + }, + /** + * @member XMLElement + * The getLocalName() function returns the local name (i.e. the name excluding an eventual namespace + * prefix) of the element. + * + * @return {String} the name, or null if the element only contains #PCDATA. + */ + getLocalName: function() { + return this.name; + }, + /** + * @member XMLElement + * The getAttributeCount() function returns the number of attributes for the node + * that this XMLElement represents. + * + * @return {int} the number of attributes in this XMLElement + */ + getAttributeCount: function() { + return this.attributes.length; + }, + /** + * @member XMLElement + * The toString() function returns the XML definition of an XMLElement. + * + * @return {String} the XML definition of this XMLElement + */ + toString: function() { + // shortcut for text and cdata nodes + if (this.type === "TEXT") { + return this.content; + } - var boxOutlineVerts = new Float32Array([ - 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, -0.5, 0.5, -0.5, -0.5, - -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, - 0.5, 0.5, 0.5, 0.5, 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, - -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5, 0.5, 0.5, 0.5, 0.5, - 0.5, -0.5, 0.5, 0.5, -0.5, -0.5, 0.5, -0.5, -0.5, -0.5, -0.5, -0.5, - -0.5, -0.5, -0.5, -0.5, -0.5, 0.5, -0.5, -0.5, 0.5, 0.5, -0.5, 0.5]); + if (this.type === "CDATA") { + return this.cdata; + } - var boxNorms = new Float32Array([ - 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, - 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, - 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, - -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0]); - - // These verts are used for the fill and stroke using TRIANGLE_FAN and LINE_LOOP. - var rectVerts = new Float32Array([0,0,0, 0,1,0, 1,1,0, 1,0,0]); - - var rectNorms = new Float32Array([0,0,1, 0,0,1, 0,0,1, 0,0,1]); + // real XMLElements + var tagstring = this.fullName; + var xmlstring = "<" + tagstring; + var a,c; - // Shader for points and lines in begin/endShape. - var vertexShaderSrcUnlitShape = - "varying vec4 vFrontColor;" + + // serialize the attributes to XML string + for (a = 0; a"; + } + } else { + xmlstring += ">"; + for (c = 0; c"; + } + return xmlstring; + } + }; - "uniform mat4 uView;" + - "uniform mat4 uProjection;" + - "uniform float uPointSize;" + + /** + * static Processing 1.5 XML API wrapper for the + * parse method. This may only take one argument. + */ + XMLElement.parse = function(xmlstring) { + var element = new XMLElement(); + element.parse(xmlstring); + return element; + }; - "void main(void) {" + - " vFrontColor = aColor;" + - " gl_PointSize = uPointSize;" + - " gl_Position = uProjection * uView * vec4(aVertex, 1.0);" + - "}"; + return XMLElement; +}; + +},{}],13:[function(require,module,exports){ +/** + * XMLAttribute is an attribute of a XML element. + * + * @param {String} fname the full name of the attribute + * @param {String} n the short name of the attribute + * @param {String} namespace the namespace URI of the attribute + * @param {String} v the value of the attribute + * @param {String }t the type of the attribute + * + * @see XMLElement + */ +module.exports = function() { + + var XMLAttribute = function (fname, n, nameSpace, v, t){ + this.fullName = fname || ""; + this.name = n || ""; + this.namespace = nameSpace || ""; + this.value = v; + this.type = t; + }; - var fragmentShaderSrcUnlitShape = - "#ifdef GL_ES\n" + - "precision highp float;\n" + - "#endif\n" + + XMLAttribute.prototype = { + /** + * @member XMLAttribute + * The getName() function returns the short name of the attribute + * + * @return {String} the short name of the attribute + */ + getName: function() { + return this.name; + }, + /** + * @member XMLAttribute + * The getFullName() function returns the full name of the attribute + * + * @return {String} the full name of the attribute + */ + getFullName: function() { + return this.fullName; + }, + /** + * @member XMLAttribute + * The getNamespace() function returns the namespace of the attribute + * + * @return {String} the namespace of the attribute + */ + getNamespace: function() { + return this.namespace; + }, + /** + * @member XMLAttribute + * The getValue() function returns the value of the attribute + * + * @return {String} the value of the attribute + */ + getValue: function() { + return this.value; + }, + /** + * @member XMLAttribute + * The getValue() function returns the type of the attribute + * + * @return {String} the type of the attribute + */ + getType: function() { + return this.type; + }, + /** + * @member XMLAttribute + * The setValue() function sets the value of the attribute + * + * @param {String} newval the new value + */ + setValue: function(newval) { + this.value = newval; + } + }; - "varying vec4 vFrontColor;" + - "uniform bool uSmooth;" + + return XMLAttribute; +}; - "void main(void){" + - " if(uSmooth == true){" + - " float dist = distance(gl_PointCoord, vec2(0.5));" + - " if(dist > 0.5){" + - " discard;" + - " }" + - " }" + - " gl_FragColor = vFrontColor;" + - "}"; +},{}],14:[function(require,module,exports){ +module.exports = function(options, undef) { - // Shader for rect, text, box outlines, sphere outlines, point() and line(). - var vertexShaderSrc2D = - "varying vec4 vFrontColor;" + + // FIXME: hack + var p = options.p; - "attribute vec3 aVertex;" + - "attribute vec2 aTextureCoord;" + - "uniform vec4 uColor;" + + /** + * PMatrix2D is a 3x2 affine matrix implementation. The constructor accepts another PMatrix2D or a list of six float elements. + * If no parameters are provided the matrix is set to the identity matrix. + * + * @param {PMatrix2D} matrix the initial matrix to set to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the second element of the matrix + * @param {float} m02 the third element of the matrix + * @param {float} m10 the fourth element of the matrix + * @param {float} m11 the fifth element of the matrix + * @param {float} m12 the sixth element of the matrix + */ + var PMatrix2D = function() { + if (arguments.length === 0) { + this.reset(); + } else if (arguments.length === 1 && arguments[0] instanceof PMatrix2D) { + this.set(arguments[0].array()); + } else if (arguments.length === 6) { + this.set(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); + } + }; - "uniform mat4 uModel;" + - "uniform mat4 uView;" + - "uniform mat4 uProjection;" + - "uniform float uPointSize;" + - "varying vec2 vTextureCoord;"+ + /** + * PMatrix2D methods + */ + PMatrix2D.prototype = { + /** + * @member PMatrix2D + * The set() function sets the matrix elements. The function accepts either another PMatrix2D, an array of elements, or a list of six floats. + * + * @param {PMatrix2D} matrix the matrix to set this matrix to + * @param {float[]} elements an array of elements to set this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the third element of the matrix + * @param {float} m10 the fourth element of the matrix + * @param {float} m11 the fith element of the matrix + * @param {float} m12 the sixth element of the matrix + */ + set: function() { + if (arguments.length === 6) { + var a = arguments; + this.set([a[0], a[1], a[2], + a[3], a[4], a[5]]); + } else if (arguments.length === 1 && arguments[0] instanceof PMatrix2D) { + this.elements = arguments[0].array(); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + this.elements = arguments[0].slice(); + } + }, + /** + * @member PMatrix2D + * The get() function returns a copy of this PMatrix2D. + * + * @return {PMatrix2D} a copy of this PMatrix2D + */ + get: function() { + var outgoing = new PMatrix2D(); + outgoing.set(this.elements); + return outgoing; + }, + /** + * @member PMatrix2D + * The reset() function sets this PMatrix2D to the identity matrix. + */ + reset: function() { + this.set([1, 0, 0, 0, 1, 0]); + }, + /** + * @member PMatrix2D + * The array() function returns a copy of the element values. + * @addon + * + * @return {float[]} returns a copy of the element values + */ + array: function array() { + return this.elements.slice(); + }, + /** + * @member PMatrix2D + * The translate() function translates this matrix by moving the current coordinates to the location specified by tx and ty. + * + * @param {float} tx the x-axis coordinate to move to + * @param {float} ty the y-axis coordinate to move to + */ + translate: function(tx, ty) { + this.elements[2] = tx * this.elements[0] + ty * this.elements[1] + this.elements[2]; + this.elements[5] = tx * this.elements[3] + ty * this.elements[4] + this.elements[5]; + }, + /** + * @member PMatrix2D + * The invTranslate() function translates this matrix by moving the current coordinates to the negative location specified by tx and ty. + * + * @param {float} tx the x-axis coordinate to move to + * @param {float} ty the y-axis coordinate to move to + */ + invTranslate: function(tx, ty) { + this.translate(-tx, -ty); + }, + /** + * @member PMatrix2D + * The transpose() function is not used in processingjs. + */ + transpose: function() { + // Does nothing in Processing. + }, + /** + * @member PMatrix2D + * The mult() function multiplied this matrix. + * If two array elements are passed in the function will multiply a two element vector against this matrix. + * If target is null or not length four, a new float array will be returned. + * The values for vec and target can be the same (though that's less efficient). + * If two PVectors are passed in the function multiply the x and y coordinates of a PVector against this matrix. + * + * @param {PVector} source, target the PVectors used to multiply this matrix + * @param {float[]} source, target the arrays used to multiply this matrix + * + * @return {PVector|float[]} returns a PVector or an array representing the new matrix + */ + mult: function(source, target) { + var x, y; + if (source instanceof PVector) { + x = source.x; + y = source.y; + if (!target) { + target = new PVector(); + } + } else if (source instanceof Array) { + x = source[0]; + y = source[1]; + if (!target) { + target = []; + } + } + if (target instanceof Array) { + target[0] = this.elements[0] * x + this.elements[1] * y + this.elements[2]; + target[1] = this.elements[3] * x + this.elements[4] * y + this.elements[5]; + } else if (target instanceof PVector) { + target.x = this.elements[0] * x + this.elements[1] * y + this.elements[2]; + target.y = this.elements[3] * x + this.elements[4] * y + this.elements[5]; + target.z = 0; + } + return target; + }, + /** + * @member PMatrix2D + * The multX() function calculates the x component of a vector from a transformation. + * + * @param {float} x the x component of the vector being transformed + * @param {float} y the y component of the vector being transformed + * + * @return {float} returnes the result of the calculation + */ + multX: function(x, y) { + return (x * this.elements[0] + y * this.elements[1] + this.elements[2]); + }, + /** + * @member PMatrix2D + * The multY() function calculates the y component of a vector from a transformation. + * + * @param {float} x the x component of the vector being transformed + * @param {float} y the y component of the vector being transformed + * + * @return {float} returnes the result of the calculation + */ + multY: function(x, y) { + return (x * this.elements[3] + y * this.elements[4] + this.elements[5]); + }, + /** + * @member PMatrix2D + * The skewX() function skews the matrix along the x-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + skewX: function(angle) { + this.apply(1, 0, 1, angle, 0, 0); + }, + /** + * @member PMatrix2D + * The skewY() function skews the matrix along the y-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + skewY: function(angle) { + this.apply(1, 0, 1, 0, angle, 0); + }, + /** + * @member PMatrix2D + * The shearX() function shears the matrix along the x-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + shearX: function(angle) { + this.apply(1, 0, 1, Math.tan(angle) , 0, 0); + }, + /** + * @member PMatrix2D + * The shearY() function shears the matrix along the y-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + shearY: function(angle) { + this.apply(1, 0, 1, 0, Math.tan(angle), 0); + }, + /** + * @member PMatrix2D + * The determinant() function calvculates the determinant of this matrix. + * + * @return {float} the determinant of the matrix + */ + determinant: function() { + return (this.elements[0] * this.elements[4] - this.elements[1] * this.elements[3]); + }, + /** + * @member PMatrix2D + * The invert() function inverts this matrix + * + * @return {boolean} true if successful + */ + invert: function() { + var d = this.determinant(); + if (Math.abs( d ) > PConstants.MIN_INT) { + var old00 = this.elements[0]; + var old01 = this.elements[1]; + var old02 = this.elements[2]; + var old10 = this.elements[3]; + var old11 = this.elements[4]; + var old12 = this.elements[5]; + this.elements[0] = old11 / d; + this.elements[3] = -old10 / d; + this.elements[1] = -old01 / d; + this.elements[4] = old00 / d; + this.elements[2] = (old01 * old12 - old11 * old02) / d; + this.elements[5] = (old10 * old02 - old00 * old12) / d; + return true; + } + return false; + }, + /** + * @member PMatrix2D + * The scale() function increases or decreases the size of a shape by expanding and contracting vertices. When only one parameter is specified scale will occur in all dimensions. + * This is equivalent to a two parameter call. + * + * @param {float} sx the amount to scale on the x-axis + * @param {float} sy the amount to scale on the y-axis + */ + scale: function(sx, sy) { + if (sx && !sy) { + sy = sx; + } + if (sx && sy) { + this.elements[0] *= sx; + this.elements[1] *= sy; + this.elements[3] *= sx; + this.elements[4] *= sy; + } + }, + /** + * @member PMatrix2D + * The invScale() function decreases or increases the size of a shape by contracting and expanding vertices. When only one parameter is specified scale will occur in all dimensions. + * This is equivalent to a two parameter call. + * + * @param {float} sx the amount to scale on the x-axis + * @param {float} sy the amount to scale on the y-axis + */ + invScale: function(sx, sy) { + if (sx && !sy) { + sy = sx; + } + this.scale(1 / sx, 1 / sy); + }, + /** + * @member PMatrix2D + * The apply() function multiplies the current matrix by the one specified through the parameters. Note that either a PMatrix2D or a list of floats can be passed in. + * + * @param {PMatrix2D} matrix the matrix to apply this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the third element of the matrix + * @param {float} m10 the fourth element of the matrix + * @param {float} m11 the fith element of the matrix + * @param {float} m12 the sixth element of the matrix + */ + apply: function() { + var source; + if (arguments.length === 1 && arguments[0] instanceof PMatrix2D) { + source = arguments[0].array(); + } else if (arguments.length === 6) { + source = Array.prototype.slice.call(arguments); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + source = arguments[0]; + } - "void main(void) {" + - " gl_PointSize = uPointSize;" + - " vFrontColor = uColor;" + - " gl_Position = uProjection * uView * uModel * vec4(aVertex, 1.0);" + - " vTextureCoord = aTextureCoord;" + - "}"; + var result = [0, 0, this.elements[2], + 0, 0, this.elements[5]]; + var e = 0; + for (var row = 0; row < 2; row++) { + for (var col = 0; col < 3; col++, e++) { + result[e] += this.elements[row * 3 + 0] * source[col + 0] + + this.elements[row * 3 + 1] * source[col + 3]; + } + } + this.elements = result.slice(); + }, + /** + * @member PMatrix2D + * The preApply() function applies another matrix to the left of this one. Note that either a PMatrix2D or elements of a matrix can be passed in. + * + * @param {PMatrix2D} matrix the matrix to apply this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the third element of the matrix + * @param {float} m10 the fourth element of the matrix + * @param {float} m11 the fith element of the matrix + * @param {float} m12 the sixth element of the matrix + */ + preApply: function() { + var source; + if (arguments.length === 1 && arguments[0] instanceof PMatrix2D) { + source = arguments[0].array(); + } else if (arguments.length === 6) { + source = Array.prototype.slice.call(arguments); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + source = arguments[0]; + } + var result = [0, 0, source[2], + 0, 0, source[5]]; + result[2] = source[2] + this.elements[2] * source[0] + this.elements[5] * source[1]; + result[5] = source[5] + this.elements[2] * source[3] + this.elements[5] * source[4]; + result[0] = this.elements[0] * source[0] + this.elements[3] * source[1]; + result[3] = this.elements[0] * source[3] + this.elements[3] * source[4]; + result[1] = this.elements[1] * source[0] + this.elements[4] * source[1]; + result[4] = this.elements[1] * source[3] + this.elements[4] * source[4]; + this.elements = result.slice(); + }, + /** + * @member PMatrix2D + * The rotate() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotate: function(angle) { + var c = Math.cos(angle); + var s = Math.sin(angle); + var temp1 = this.elements[0]; + var temp2 = this.elements[1]; + this.elements[0] = c * temp1 + s * temp2; + this.elements[1] = -s * temp1 + c * temp2; + temp1 = this.elements[3]; + temp2 = this.elements[4]; + this.elements[3] = c * temp1 + s * temp2; + this.elements[4] = -s * temp1 + c * temp2; + }, + /** + * @member PMatrix2D + * The rotateZ() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotateZ: function(angle) { + this.rotate(angle); + }, + /** + * @member PMatrix2D + * The invRotateZ() function rotates the matrix in opposite direction. + * + * @param {float} angle the angle of rotation in radiants + */ + invRotateZ: function(angle) { + this.rotateZ(angle - Math.PI); + }, + /** + * @member PMatrix2D + * The print() function prints out the elements of this matrix + */ + print: function() { + var digits = printMatrixHelper(this.elements); + var output = "" + p.nfs(this.elements[0], digits, 4) + " " + + p.nfs(this.elements[1], digits, 4) + " " + + p.nfs(this.elements[2], digits, 4) + "\n" + + p.nfs(this.elements[3], digits, 4) + " " + + p.nfs(this.elements[4], digits, 4) + " " + + p.nfs(this.elements[5], digits, 4) + "\n\n"; + p.println(output); + } + }; - var fragmentShaderSrc2D = - "#ifdef GL_ES\n" + - "precision highp float;\n" + - "#endif\n" + + return PMatrix2D; +}; - "varying vec4 vFrontColor;" + - "varying vec2 vTextureCoord;"+ +},{}],15:[function(require,module,exports){ +module.exports = function(options, undef) { - "uniform sampler2D uSampler;"+ - "uniform int uIsDrawingText;"+ - "uniform bool uSmooth;" + + // FIXME: hack + var p = options.p; - "void main(void){" + - // WebGL does not support POINT_SMOOTH, so we do it ourselves - " if(uSmooth == true){" + - " float dist = distance(gl_PointCoord, vec2(0.5));" + - " if(dist > 0.5){" + - " discard;" + - " }" + - " }" + + /** + * PMatrix3D is a 4x4 matrix implementation. The constructor accepts another PMatrix3D or a list of six or sixteen float elements. + * If no parameters are provided the matrix is set to the identity matrix. + */ + var PMatrix3D = function() { + // When a matrix is created, it is set to an identity matrix + this.reset(); + }; - " if(uIsDrawingText == 1){" + - " float alpha = texture2D(uSampler, vTextureCoord).a;"+ - " gl_FragColor = vec4(vFrontColor.rgb * alpha, alpha);"+ - " }" + - " else{" + - " gl_FragColor = vFrontColor;" + - " }" + - "}"; + /** + * PMatrix3D methods + */ + PMatrix3D.prototype = { + /** + * @member PMatrix2D + * The set() function sets the matrix elements. The function accepts either another PMatrix3D, an array of elements, or a list of six or sixteen floats. + * + * @param {PMatrix3D} matrix the initial matrix to set to + * @param {float[]} elements an array of elements to set this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the second element of the matrix + * @param {float} m02 the third element of the matrix + * @param {float} m03 the fourth element of the matrix + * @param {float} m10 the fifth element of the matrix + * @param {float} m11 the sixth element of the matrix + * @param {float} m12 the seventh element of the matrix + * @param {float} m13 the eight element of the matrix + * @param {float} m20 the nineth element of the matrix + * @param {float} m21 the tenth element of the matrix + * @param {float} m22 the eleventh element of the matrix + * @param {float} m23 the twelveth element of the matrix + * @param {float} m30 the thirteenth element of the matrix + * @param {float} m31 the fourtheenth element of the matrix + * @param {float} m32 the fivetheenth element of the matrix + * @param {float} m33 the sixteenth element of the matrix + */ + set: function() { + if (arguments.length === 16) { + this.elements = Array.prototype.slice.call(arguments); + } else if (arguments.length === 1 && arguments[0] instanceof PMatrix3D) { + this.elements = arguments[0].array(); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + this.elements = arguments[0].slice(); + } + }, + /** + * @member PMatrix3D + * The get() function returns a copy of this PMatrix3D. + * + * @return {PMatrix3D} a copy of this PMatrix3D + */ + get: function() { + var outgoing = new PMatrix3D(); + outgoing.set(this.elements); + return outgoing; + }, + /** + * @member PMatrix3D + * The reset() function sets this PMatrix3D to the identity matrix. + */ + reset: function() { + this.elements = [1,0,0,0, + 0,1,0,0, + 0,0,1,0, + 0,0,0,1]; + }, + /** + * @member PMatrix3D + * The array() function returns a copy of the element values. + * @addon + * + * @return {float[]} returns a copy of the element values + */ + array: function array() { + return this.elements.slice(); + }, + /** + * @member PMatrix3D + * The translate() function translates this matrix by moving the current coordinates to the location specified by tx, ty, and tz. + * + * @param {float} tx the x-axis coordinate to move to + * @param {float} ty the y-axis coordinate to move to + * @param {float} tz the z-axis coordinate to move to + */ + translate: function(tx, ty, tz) { + if (tz === undef) { + tz = 0; + } - var webglMaxTempsWorkaround = /Windows/.test(navigator.userAgent); - - // Vertex shader for boxes and spheres. - var vertexShaderSrc3D = - "varying vec4 vFrontColor;" + - - "attribute vec3 aVertex;" + - "attribute vec3 aNormal;" + - "attribute vec4 aColor;" + - "attribute vec2 aTexture;" + - "varying vec2 vTexture;" + - - "uniform vec4 uColor;" + + this.elements[3] += tx * this.elements[0] + ty * this.elements[1] + tz * this.elements[2]; + this.elements[7] += tx * this.elements[4] + ty * this.elements[5] + tz * this.elements[6]; + this.elements[11] += tx * this.elements[8] + ty * this.elements[9] + tz * this.elements[10]; + this.elements[15] += tx * this.elements[12] + ty * this.elements[13] + tz * this.elements[14]; + }, + /** + * @member PMatrix3D + * The transpose() function transpose this matrix. + */ + transpose: function() { + var temp = this.elements[4]; + this.elements[4] = this.elements[1]; + this.elements[1] = temp; + + temp = this.elements[8]; + this.elements[8] = this.elements[2]; + this.elements[2] = temp; + + temp = this.elements[6]; + this.elements[6] = this.elements[9]; + this.elements[9] = temp; + + temp = this.elements[3]; + this.elements[3] = this.elements[12]; + this.elements[12] = temp; + + temp = this.elements[7]; + this.elements[7] = this.elements[13]; + this.elements[13] = temp; + + temp = this.elements[11]; + this.elements[11] = this.elements[14]; + this.elements[14] = temp; + }, + /** + * @member PMatrix3D + * The mult() function multiplied this matrix. + * If two array elements are passed in the function will multiply a two element vector against this matrix. + * If target is null or not length four, a new float array will be returned. + * The values for vec and target can be the same (though that's less efficient). + * If two PVectors are passed in the function multiply the x and y coordinates of a PVector against this matrix. + * + * @param {PVector} source, target the PVectors used to multiply this matrix + * @param {float[]} source, target the arrays used to multiply this matrix + * + * @return {PVector|float[]} returns a PVector or an array representing the new matrix + */ + mult: function(source, target) { + var x, y, z, w; + if (source instanceof PVector) { + x = source.x; + y = source.y; + z = source.z; + w = 1; + if (!target) { + target = new PVector(); + } + } else if (source instanceof Array) { + x = source[0]; + y = source[1]; + z = source[2]; + w = source[3] || 1; + + if ( !target || (target.length !== 3 && target.length !== 4) ) { + target = [0, 0, 0]; + } + } + + if (target instanceof Array) { + if (target.length === 3) { + target[0] = this.elements[0] * x + this.elements[1] * y + this.elements[2] * z + this.elements[3]; + target[1] = this.elements[4] * x + this.elements[5] * y + this.elements[6] * z + this.elements[7]; + target[2] = this.elements[8] * x + this.elements[9] * y + this.elements[10] * z + this.elements[11]; + } else if (target.length === 4) { + target[0] = this.elements[0] * x + this.elements[1] * y + this.elements[2] * z + this.elements[3] * w; + target[1] = this.elements[4] * x + this.elements[5] * y + this.elements[6] * z + this.elements[7] * w; + target[2] = this.elements[8] * x + this.elements[9] * y + this.elements[10] * z + this.elements[11] * w; + target[3] = this.elements[12] * x + this.elements[13] * y + this.elements[14] * z + this.elements[15] * w; + } + } + if (target instanceof PVector) { + target.x = this.elements[0] * x + this.elements[1] * y + this.elements[2] * z + this.elements[3]; + target.y = this.elements[4] * x + this.elements[5] * y + this.elements[6] * z + this.elements[7]; + target.z = this.elements[8] * x + this.elements[9] * y + this.elements[10] * z + this.elements[11]; + } + return target; + }, + /** + * @member PMatrix3D + * The preApply() function applies another matrix to the left of this one. Note that either a PMatrix3D or elements of a matrix can be passed in. + * + * @param {PMatrix3D} matrix the matrix to apply this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the second element of the matrix + * @param {float} m02 the third element of the matrix + * @param {float} m03 the fourth element of the matrix + * @param {float} m10 the fifth element of the matrix + * @param {float} m11 the sixth element of the matrix + * @param {float} m12 the seventh element of the matrix + * @param {float} m13 the eight element of the matrix + * @param {float} m20 the nineth element of the matrix + * @param {float} m21 the tenth element of the matrix + * @param {float} m22 the eleventh element of the matrix + * @param {float} m23 the twelveth element of the matrix + * @param {float} m30 the thirteenth element of the matrix + * @param {float} m31 the fourtheenth element of the matrix + * @param {float} m32 the fivetheenth element of the matrix + * @param {float} m33 the sixteenth element of the matrix + */ + preApply: function() { + var source; + if (arguments.length === 1 && arguments[0] instanceof PMatrix3D) { + source = arguments[0].array(); + } else if (arguments.length === 16) { + source = Array.prototype.slice.call(arguments); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + source = arguments[0]; + } + + var result = [0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0]; + var e = 0; + for (var row = 0; row < 4; row++) { + for (var col = 0; col < 4; col++, e++) { + result[e] += this.elements[col + 0] * source[row * 4 + 0] + this.elements[col + 4] * + source[row * 4 + 1] + this.elements[col + 8] * source[row * 4 + 2] + + this.elements[col + 12] * source[row * 4 + 3]; + } + } + this.elements = result.slice(); + }, + /** + * @member PMatrix3D + * The apply() function multiplies the current matrix by the one specified through the parameters. Note that either a PMatrix3D or a list of floats can be passed in. + * + * @param {PMatrix3D} matrix the matrix to apply this matrix to + * @param {float} m00 the first element of the matrix + * @param {float} m01 the second element of the matrix + * @param {float} m02 the third element of the matrix + * @param {float} m03 the fourth element of the matrix + * @param {float} m10 the fifth element of the matrix + * @param {float} m11 the sixth element of the matrix + * @param {float} m12 the seventh element of the matrix + * @param {float} m13 the eight element of the matrix + * @param {float} m20 the nineth element of the matrix + * @param {float} m21 the tenth element of the matrix + * @param {float} m22 the eleventh element of the matrix + * @param {float} m23 the twelveth element of the matrix + * @param {float} m30 the thirteenth element of the matrix + * @param {float} m31 the fourtheenth element of the matrix + * @param {float} m32 the fivetheenth element of the matrix + * @param {float} m33 the sixteenth element of the matrix + */ + apply: function() { + var source; + if (arguments.length === 1 && arguments[0] instanceof PMatrix3D) { + source = arguments[0].array(); + } else if (arguments.length === 16) { + source = Array.prototype.slice.call(arguments); + } else if (arguments.length === 1 && arguments[0] instanceof Array) { + source = arguments[0]; + } + + var result = [0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0]; + var e = 0; + for (var row = 0; row < 4; row++) { + for (var col = 0; col < 4; col++, e++) { + result[e] += this.elements[row * 4 + 0] * source[col + 0] + this.elements[row * 4 + 1] * + source[col + 4] + this.elements[row * 4 + 2] * source[col + 8] + + this.elements[row * 4 + 3] * source[col + 12]; + } + } + this.elements = result.slice(); + }, + /** + * @member PMatrix3D + * The rotate() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotate: function(angle, v0, v1, v2) { + if (!v1) { + this.rotateZ(angle); + } else { + // TODO should make sure this vector is normalized + var c = Math.cos(angle); + var s = Math.sin(angle); + var t = 1.0 - c; + + this.apply((t * v0 * v0) + c, + (t * v0 * v1) - (s * v2), + (t * v0 * v2) + (s * v1), + 0, + (t * v0 * v1) + (s * v2), + (t * v1 * v1) + c, + (t * v1 * v2) - (s * v0), + 0, + (t * v0 * v2) - (s * v1), + (t * v1 * v2) + (s * v0), + (t * v2 * v2) + c, + 0, + 0, 0, 0, 1); + } + }, + /** + * @member PMatrix3D + * The invApply() function applies the inverted matrix to this matrix. + * + * @param {float} m00 the first element of the matrix + * @param {float} m01 the second element of the matrix + * @param {float} m02 the third element of the matrix + * @param {float} m03 the fourth element of the matrix + * @param {float} m10 the fifth element of the matrix + * @param {float} m11 the sixth element of the matrix + * @param {float} m12 the seventh element of the matrix + * @param {float} m13 the eight element of the matrix + * @param {float} m20 the nineth element of the matrix + * @param {float} m21 the tenth element of the matrix + * @param {float} m22 the eleventh element of the matrix + * @param {float} m23 the twelveth element of the matrix + * @param {float} m30 the thirteenth element of the matrix + * @param {float} m31 the fourtheenth element of the matrix + * @param {float} m32 the fivetheenth element of the matrix + * @param {float} m33 the sixteenth element of the matrix + * + * @return {boolean} returns true if the operation was successful. + */ + invApply: function() { + if (inverseCopy === undef) { + inverseCopy = new PMatrix3D(); + } + var a = arguments; + inverseCopy.set(a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], + a[9], a[10], a[11], a[12], a[13], a[14], a[15]); - "uniform bool uUsingMat;" + - "uniform vec3 uSpecular;" + - "uniform vec3 uMaterialEmissive;" + - "uniform vec3 uMaterialAmbient;" + - "uniform vec3 uMaterialSpecular;" + - "uniform float uShininess;" + + if (!inverseCopy.invert()) { + return false; + } + this.preApply(inverseCopy); + return true; + }, + /** + * @member PMatrix3D + * The rotateZ() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotateX: function(angle) { + var c = Math.cos(angle); + var s = Math.sin(angle); + this.apply([1, 0, 0, 0, 0, c, -s, 0, 0, s, c, 0, 0, 0, 0, 1]); + }, + /** + * @member PMatrix3D + * The rotateY() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotateY: function(angle) { + var c = Math.cos(angle); + var s = Math.sin(angle); + this.apply([c, 0, s, 0, 0, 1, 0, 0, -s, 0, c, 0, 0, 0, 0, 1]); + }, + /** + * @member PMatrix3D + * The rotateZ() function rotates the matrix. + * + * @param {float} angle the angle of rotation in radiants + */ + rotateZ: function(angle) { + var c = Math.cos(angle); + var s = Math.sin(angle); + this.apply([c, -s, 0, 0, s, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); + }, + /** + * @member PMatrix3D + * The scale() function increases or decreases the size of a matrix by expanding and contracting vertices. When only one parameter is specified scale will occur in all dimensions. + * This is equivalent to a three parameter call. + * + * @param {float} sx the amount to scale on the x-axis + * @param {float} sy the amount to scale on the y-axis + * @param {float} sz the amount to scale on the z-axis + */ + scale: function(sx, sy, sz) { + if (sx && !sy && !sz) { + sy = sz = sx; + } else if (sx && sy && !sz) { + sz = 1; + } + + if (sx && sy && sz) { + this.elements[0] *= sx; + this.elements[1] *= sy; + this.elements[2] *= sz; + this.elements[4] *= sx; + this.elements[5] *= sy; + this.elements[6] *= sz; + this.elements[8] *= sx; + this.elements[9] *= sy; + this.elements[10] *= sz; + this.elements[12] *= sx; + this.elements[13] *= sy; + this.elements[14] *= sz; + } + }, + /** + * @member PMatrix3D + * The skewX() function skews the matrix along the x-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + skewX: function(angle) { + var t = Math.tan(angle); + this.apply(1, t, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + }, + /** + * @member PMatrix3D + * The skewY() function skews the matrix along the y-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of skew specified in radians + */ + skewY: function(angle) { + var t = Math.tan(angle); + this.apply(1, 0, 0, 0, t, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + }, + /** + * @member PMatrix3D + * The shearX() function shears the matrix along the x-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of shear specified in radians + */ + shearX: function(angle) { + var t = Math.tan(angle); + this.apply(1, t, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + }, + /** + * @member PMatrix3D + * The shearY() function shears the matrix along the y-axis the amount specified by the angle parameter. + * Angles should be specified in radians (values from 0 to PI*2) or converted to radians with the radians() function. + * + * @param {float} angle angle of shear specified in radians + */ + shearY: function(angle) { + var t = Math.tan(angle); + this.apply(1, 0, 0, 0, t, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); + }, + multX: function(x, y, z, w) { + if (!z) { + return this.elements[0] * x + this.elements[1] * y + this.elements[3]; + } + if (!w) { + return this.elements[0] * x + this.elements[1] * y + this.elements[2] * z + this.elements[3]; + } + return this.elements[0] * x + this.elements[1] * y + this.elements[2] * z + this.elements[3] * w; + }, + multY: function(x, y, z, w) { + if (!z) { + return this.elements[4] * x + this.elements[5] * y + this.elements[7]; + } + if (!w) { + return this.elements[4] * x + this.elements[5] * y + this.elements[6] * z + this.elements[7]; + } + return this.elements[4] * x + this.elements[5] * y + this.elements[6] * z + this.elements[7] * w; + }, + multZ: function(x, y, z, w) { + if (!w) { + return this.elements[8] * x + this.elements[9] * y + this.elements[10] * z + this.elements[11]; + } + return this.elements[8] * x + this.elements[9] * y + this.elements[10] * z + this.elements[11] * w; + }, + multW: function(x, y, z, w) { + if (!w) { + return this.elements[12] * x + this.elements[13] * y + this.elements[14] * z + this.elements[15]; + } + return this.elements[12] * x + this.elements[13] * y + this.elements[14] * z + this.elements[15] * w; + }, + /** + * @member PMatrix3D + * The invert() function inverts this matrix + * + * @return {boolean} true if successful + */ + invert: function() { + var fA0 = this.elements[0] * this.elements[5] - this.elements[1] * this.elements[4]; + var fA1 = this.elements[0] * this.elements[6] - this.elements[2] * this.elements[4]; + var fA2 = this.elements[0] * this.elements[7] - this.elements[3] * this.elements[4]; + var fA3 = this.elements[1] * this.elements[6] - this.elements[2] * this.elements[5]; + var fA4 = this.elements[1] * this.elements[7] - this.elements[3] * this.elements[5]; + var fA5 = this.elements[2] * this.elements[7] - this.elements[3] * this.elements[6]; + var fB0 = this.elements[8] * this.elements[13] - this.elements[9] * this.elements[12]; + var fB1 = this.elements[8] * this.elements[14] - this.elements[10] * this.elements[12]; + var fB2 = this.elements[8] * this.elements[15] - this.elements[11] * this.elements[12]; + var fB3 = this.elements[9] * this.elements[14] - this.elements[10] * this.elements[13]; + var fB4 = this.elements[9] * this.elements[15] - this.elements[11] * this.elements[13]; + var fB5 = this.elements[10] * this.elements[15] - this.elements[11] * this.elements[14]; + + // Determinant + var fDet = fA0 * fB5 - fA1 * fB4 + fA2 * fB3 + fA3 * fB2 - fA4 * fB1 + fA5 * fB0; + + // Account for a very small value + // return false if not successful. + if (Math.abs(fDet) <= 1e-9) { + return false; + } - "uniform mat4 uModel;" + - "uniform mat4 uView;" + - "uniform mat4 uProjection;" + - "uniform mat4 uNormalTransform;" + + var kInv = []; + kInv[0] = +this.elements[5] * fB5 - this.elements[6] * fB4 + this.elements[7] * fB3; + kInv[4] = -this.elements[4] * fB5 + this.elements[6] * fB2 - this.elements[7] * fB1; + kInv[8] = +this.elements[4] * fB4 - this.elements[5] * fB2 + this.elements[7] * fB0; + kInv[12] = -this.elements[4] * fB3 + this.elements[5] * fB1 - this.elements[6] * fB0; + kInv[1] = -this.elements[1] * fB5 + this.elements[2] * fB4 - this.elements[3] * fB3; + kInv[5] = +this.elements[0] * fB5 - this.elements[2] * fB2 + this.elements[3] * fB1; + kInv[9] = -this.elements[0] * fB4 + this.elements[1] * fB2 - this.elements[3] * fB0; + kInv[13] = +this.elements[0] * fB3 - this.elements[1] * fB1 + this.elements[2] * fB0; + kInv[2] = +this.elements[13] * fA5 - this.elements[14] * fA4 + this.elements[15] * fA3; + kInv[6] = -this.elements[12] * fA5 + this.elements[14] * fA2 - this.elements[15] * fA1; + kInv[10] = +this.elements[12] * fA4 - this.elements[13] * fA2 + this.elements[15] * fA0; + kInv[14] = -this.elements[12] * fA3 + this.elements[13] * fA1 - this.elements[14] * fA0; + kInv[3] = -this.elements[9] * fA5 + this.elements[10] * fA4 - this.elements[11] * fA3; + kInv[7] = +this.elements[8] * fA5 - this.elements[10] * fA2 + this.elements[11] * fA1; + kInv[11] = -this.elements[8] * fA4 + this.elements[9] * fA2 - this.elements[11] * fA0; + kInv[15] = +this.elements[8] * fA3 - this.elements[9] * fA1 + this.elements[10] * fA0; + + // Inverse using Determinant + var fInvDet = 1.0 / fDet; + kInv[0] *= fInvDet; + kInv[1] *= fInvDet; + kInv[2] *= fInvDet; + kInv[3] *= fInvDet; + kInv[4] *= fInvDet; + kInv[5] *= fInvDet; + kInv[6] *= fInvDet; + kInv[7] *= fInvDet; + kInv[8] *= fInvDet; + kInv[9] *= fInvDet; + kInv[10] *= fInvDet; + kInv[11] *= fInvDet; + kInv[12] *= fInvDet; + kInv[13] *= fInvDet; + kInv[14] *= fInvDet; + kInv[15] *= fInvDet; + + this.elements = kInv.slice(); + return true; + }, + toString: function() { + var str = ""; + for (var i = 0; i < 15; i++) { + str += this.elements[i] + ", "; + } + str += this.elements[15]; + return str; + }, + /** + * @member PMatrix3D + * The print() function prints out the elements of this matrix + */ + print: function() { + var digits = printMatrixHelper(this.elements); + + var output = "" + p.nfs(this.elements[0], digits, 4) + " " + p.nfs(this.elements[1], digits, 4) + + " " + p.nfs(this.elements[2], digits, 4) + " " + p.nfs(this.elements[3], digits, 4) + + "\n" + p.nfs(this.elements[4], digits, 4) + " " + p.nfs(this.elements[5], digits, 4) + + " " + p.nfs(this.elements[6], digits, 4) + " " + p.nfs(this.elements[7], digits, 4) + + "\n" + p.nfs(this.elements[8], digits, 4) + " " + p.nfs(this.elements[9], digits, 4) + + " " + p.nfs(this.elements[10], digits, 4) + " " + p.nfs(this.elements[11], digits, 4) + + "\n" + p.nfs(this.elements[12], digits, 4) + " " + p.nfs(this.elements[13], digits, 4) + + " " + p.nfs(this.elements[14], digits, 4) + " " + p.nfs(this.elements[15], digits, 4) + "\n\n"; + p.println(output); + }, + invTranslate: function(tx, ty, tz) { + this.preApply(1, 0, 0, -tx, 0, 1, 0, -ty, 0, 0, 1, -tz, 0, 0, 0, 1); + }, + invRotateX: function(angle) { + var c = Math.cos(-angle); + var s = Math.sin(-angle); + this.preApply([1, 0, 0, 0, 0, c, -s, 0, 0, s, c, 0, 0, 0, 0, 1]); + }, + invRotateY: function(angle) { + var c = Math.cos(-angle); + var s = Math.sin(-angle); + this.preApply([c, 0, s, 0, 0, 1, 0, 0, -s, 0, c, 0, 0, 0, 0, 1]); + }, + invRotateZ: function(angle) { + var c = Math.cos(-angle); + var s = Math.sin(-angle); + this.preApply([c, -s, 0, 0, s, c, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]); + }, + invScale: function(x, y, z) { + this.preApply([1 / x, 0, 0, 0, 0, 1 / y, 0, 0, 0, 0, 1 / z, 0, 0, 0, 0, 1]); + } + }; - "uniform int uLightCount;" + - "uniform vec3 uFalloff;" + + return PMatrix3D; +}; +},{}],16:[function(require,module,exports){ +module.exports = function(options) { + var PConstants = options.PConstants, + PMatrix2D = options.PMatrix2D, + PMatrix3D = options.PMatrix3D; - // Careful changing the order of these fields. Some cards - // have issues with memory alignment. - "struct Light {" + - " int type;" + - " vec3 color;" + - " vec3 position;" + - " vec3 direction;" + - " float angle;" + - " vec3 halfVector;" + - " float concentration;" + - "};" + + /** + * Datatype for storing shapes. Processing can currently load and display SVG (Scalable Vector Graphics) shapes. + * Before a shape is used, it must be loaded with the loadShape() function. The shape() function is used to draw the shape to the display window. + * The PShape object contain a group of methods, linked below, that can operate on the shape data. + *

    The loadShape() method supports SVG files created with Inkscape and Adobe Illustrator. + * It is not a full SVG implementation, but offers some straightforward support for handling vector data. + * + * @param {int} family the shape type, one of GROUP, PRIMITIVE, PATH, or GEOMETRY + * + * @see #shape() + * @see #loadShape() + * @see #shapeMode() + */ + var PShape = function(family) { + this.family = family || PConstants.GROUP; + this.visible = true; + this.style = true; + this.children = []; + this.nameTable = []; + this.params = []; + this.name = ""; + this.image = null; //type PImage + this.matrix = null; + this.kind = null; + this.close = null; + this.width = null; + this.height = null; + this.parent = null; + }; + /** + * PShape methods + * missing: findChild(), apply(), contains(), findChild(), getPrimitive(), getParams(), getVertex() , getVertexCount(), + * getVertexCode() , getVertexCodes() , getVertexCodeCount(), getVertexX(), getVertexY(), getVertexZ() + */ + PShape.prototype = { + /** + * @member PShape + * The isVisible() function returns a boolean value "true" if the image is set to be visible, "false" if not. This is modified with the setVisible() parameter. + *

    The visibility of a shape is usually controlled by whatever program created the SVG file. + * For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. + * + * @return {boolean} returns "true" if the image is set to be visible, "false" if not + */ + isVisible: function(){ + return this.visible; + }, + /** + * @member PShape + * The setVisible() function sets the shape to be visible or invisible. This is determined by the value of the visible parameter. + *

    The visibility of a shape is usually controlled by whatever program created the SVG file. + * For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. + * + * @param {boolean} visible "false" makes the shape invisible and "true" makes it visible + */ + setVisible: function (visible){ + this.visible = visible; + }, + /** + * @member PShape + * The disableStyle() function disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. + * Overrides this shape's style information and uses PGraphics styles and colors. Identical to ignoreStyles(true). Also disables styles for all child shapes. + */ + disableStyle: function(){ + this.style = false; + for(var i = 0, j=this.children.length; i part of the SVG document. + */ + drawPath: function(renderContext) { + var i, j; + if (this.vertices.length === 0) { return; } + renderContext.beginShape(); + if (this.vertexCodes.length === 0) { // each point is a simple vertex + if (this.vertices[0].length === 2) { // drawing 2D vertices + for (i = 0, j = this.vertices.length; i < j; i++) { + renderContext.vertex(this.vertices[i][0], this.vertices[i][1]); + } + } else { // drawing 3D vertices + for (i = 0, j = this.vertices.length; i < j; i++) { + renderContext.vertex(this.vertices[i][0], + this.vertices[i][1], + this.vertices[i][2]); + } + } + } else { // coded set of vertices + var index = 0; + if (this.vertices[0].length === 2) { // drawing a 2D path + for (i = 0, j = this.vertexCodes.length; i < j; i++) { + if (this.vertexCodes[i] === PConstants.VERTEX) { + renderContext.vertex(this.vertices[index][0], this.vertices[index][1], this.vertices[index].moveTo); + renderContext.breakShape = false; + index++; + } else if (this.vertexCodes[i] === PConstants.BEZIER_VERTEX) { + renderContext.bezierVertex(this.vertices[index+0][0], + this.vertices[index+0][1], + this.vertices[index+1][0], + this.vertices[index+1][1], + this.vertices[index+2][0], + this.vertices[index+2][1]); + index += 3; + } else if (this.vertexCodes[i] === PConstants.CURVE_VERTEX) { + renderContext.curveVertex(this.vertices[index][0], + this.vertices[index][1]); + index++; + } else if (this.vertexCodes[i] === PConstants.BREAK) { + renderContext.breakShape = true; + } + } + } else { // drawing a 3D path + for (i = 0, j = this.vertexCodes.length; i < j; i++) { + if (this.vertexCodes[i] === PConstants.VERTEX) { + renderContext.vertex(this.vertices[index][0], + this.vertices[index][1], + this.vertices[index][2]); + if (this.vertices[index].moveTo === true) { + vertArray[vertArray.length-1].moveTo = true; + } else if (this.vertices[index].moveTo === false) { + vertArray[vertArray.length-1].moveTo = false; + } + renderContext.breakShape = false; + } else if (this.vertexCodes[i] === PConstants.BEZIER_VERTEX) { + renderContext.bezierVertex(this.vertices[index+0][0], + this.vertices[index+0][1], + this.vertices[index+0][2], + this.vertices[index+1][0], + this.vertices[index+1][1], + this.vertices[index+1][2], + this.vertices[index+2][0], + this.vertices[index+2][1], + this.vertices[index+2][2]); + index += 3; + } else if (this.vertexCodes[i] === PConstants.CURVE_VERTEX) { + renderContext.curveVertex(this.vertices[index][0], + this.vertices[index][1], + this.vertices[index][2]); + index++; + } else if (this.vertexCodes[i] === PConstants.BREAK) { + renderContext.breakShape = true; + } + } + } + } + renderContext.endShape(this.close ? PConstants.CLOSE : PConstants.OPEN); + }, + /** + * @member PShape + * The drawGeometry() function draws the geometry part of the SVG document. + */ + drawGeometry: function(renderContext) { + var i, j; + renderContext.beginShape(this.kind); + if (this.style) { + for (i = 0, j = this.vertices.length; i < j; i++) { + renderContext.vertex(this.vertices[i]); + } + } else { + for (i = 0, j = this.vertices.length; i < j; i++) { + var vert = this.vertices[i]; + if (vert[2] === 0) { + renderContext.vertex(vert[0], vert[1]); + } else { + renderContext.vertex(vert[0], vert[1], vert[2]); + } + } + } + renderContext.endShape(); + }, + /** + * @member PShape + * The drawGroup() function draws the part of the SVG document. + */ + drawGroup: function(renderContext) { + for (var i = 0, j = this.children.length; i < j; i++) { + this.children[i].draw(renderContext); + } + }, + /** + * @member PShape + * The drawPrimitive() function draws SVG document shape elements. These can be point, line, triangle, quad, rect, ellipse, arc, box, or sphere. + */ + drawPrimitive: function(renderContext) { + if (this.kind === PConstants.POINT) { + renderContext.point(this.params[0], this.params[1]); + } else if (this.kind === PConstants.LINE) { + if (this.params.length === 4) { // 2D + renderContext.line(this.params[0], this.params[1], + this.params[2], this.params[3]); + } else { // 3D + renderContext.line(this.params[0], this.params[1], this.params[2], + this.params[3], this.params[4], this.params[5]); + } + } else if (this.kind === PConstants.TRIANGLE) { + renderContext.triangle(this.params[0], this.params[1], + this.params[2], this.params[3], + this.params[4], this.params[5]); + } else if (this.kind === PConstants.QUAD) { + renderContext.quad(this.params[0], this.params[1], + this.params[2], this.params[3], + this.params[4], this.params[5], + this.params[6], this.params[7]); + } else if (this.kind === PConstants.RECT) { + if (this.image !== null) { + var imMode = imageModeConvert; + renderContext.imageMode(PConstants.CORNER); + renderContext.image(this.image, + this.params[0], + this.params[1], + this.params[2], + this.params[3]); + imageModeConvert = imMode; + } else { + var rcMode = renderContext.curRectMode; + renderContext.rectMode(PConstants.CORNER); + renderContext.rect(this.params[0], + this.params[1], + this.params[2], + this.params[3]); + renderContext.curRectMode = rcMode; + } + } else if (this.kind === PConstants.ELLIPSE) { + var elMode = renderContext.curEllipseMode; + renderContext.ellipseMode(PConstants.CORNER); + renderContext.ellipse(this.params[0], + this.params[1], + this.params[2], + this.params[3]); + renderContext.curEllipseMode = elMode; + } else if (this.kind === PConstants.ARC) { + var eMode = curEllipseMode; + renderContext.ellipseMode(PConstants.CORNER); + renderContext.arc(this.params[0], + this.params[1], + this.params[2], + this.params[3], + this.params[4], + this.params[5]); + curEllipseMode = eMode; + } else if (this.kind === PConstants.BOX) { + if (this.params.length === 1) { + renderContext.box(this.params[0]); + } else { + renderContext.box(this.params[0], this.params[1], this.params[2]); + } + } else if (this.kind === PConstants.SPHERE) { + renderContext.sphere(this.params[0]); + } + }, + /** + * @member PShape + * The pre() function performs the preparations before the SVG is drawn. This includes doing transformations and storing previous styles. + */ + pre: function(renderContext) { + if (this.matrix) { + renderContext.pushMatrix(); + renderContext.transform(this.matrix); + } + if (this.style) { + renderContext.pushStyle(); + this.styles(renderContext); + } + }, + /** + * @member PShape + * The post() function performs the necessary actions after the SVG is drawn. This includes removing transformations and removing added styles. + */ + post: function(renderContext) { + if (this.matrix) { + renderContext.popMatrix(); + } + if (this.style) { + renderContext.popStyle(); + } + }, + /** + * @member PShape + * The styles() function changes the Processing's current styles + */ + styles: function(renderContext) { + if (this.stroke) { + renderContext.stroke(this.strokeColor); + renderContext.strokeWeight(this.strokeWeight); + renderContext.strokeCap(this.strokeCap); + renderContext.strokeJoin(this.strokeJoin); + } else { + renderContext.noStroke(); + } - // nVidia cards have issues with arrays of structures - // so instead we create 8 instances of Light. - "uniform Light uLights0;" + - "uniform Light uLights1;" + - "uniform Light uLights2;" + - "uniform Light uLights3;" + - "uniform Light uLights4;" + - "uniform Light uLights5;" + - "uniform Light uLights6;" + - "uniform Light uLights7;" + + if (this.fill) { + renderContext.fill(this.fillColor); - // GLSL does not support switch. - "Light getLight(int index){" + - " if(index == 0) return uLights0;" + - " if(index == 1) return uLights1;" + - " if(index == 2) return uLights2;" + - " if(index == 3) return uLights3;" + - " if(index == 4) return uLights4;" + - " if(index == 5) return uLights5;" + - " if(index == 6) return uLights6;" + - // Do not use a conditional for the last return statement - // because some video cards will fail and complain that - // "not all paths return". - " return uLights7;" + - "}" + - - "void AmbientLight( inout vec3 totalAmbient, in vec3 ecPos, in Light light ) {" + - // Get the vector from the light to the vertex and - // get the distance from the current vector to the light position. - " float d = length( light.position - ecPos );" + - " float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d ));" + - " totalAmbient += light.color * attenuation;" + - "}" + - - /* - col - accumulated color - spec - accumulated specular highlight - vertNormal - Normal of the vertex - ecPos - eye coordinate position - light - light structure - */ - "void DirectionalLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {" + - " float powerFactor = 0.0;" + - " float nDotVP = max(0.0, dot( vertNormal, normalize(-light.position) ));" + - " float nDotVH = max(0.0, dot( vertNormal, normalize(-light.position-normalize(ecPos) )));" + - - " if( nDotVP != 0.0 ){" + - " powerFactor = pow( nDotVH, uShininess );" + - " }" + - - " col += light.color * nDotVP;" + - " spec += uSpecular * powerFactor;" + - "}" + + } else { + renderContext.noFill(); + } + }, + /** + * @member PShape + * The getChild() function extracts a child shape from a parent shape. Specify the name of the shape with the target parameter or the + * layer position of the shape to get with the index parameter. + * The shape is returned as a PShape object, or null is returned if there is an error. + * + * @param {String} target the name of the shape to get + * @param {int} index the layer position of the shape to get + * + * @return {PShape} returns a child element of a shape as a PShape object or null if there is an error + */ + getChild: function(child) { + var i, j; + if (typeof child === 'number') { + return this.children[child]; + } + var found; + if(child === "" || this.name === child){ + return this; + } + if(this.nameTable.length > 0) { + for(i = 0, j = this.nameTable.length; i < j || found; i++) { + if(this.nameTable[i].getName === child) { + found = this.nameTable[i]; + break; + } + } + if (found) { return found; } + } + for(i = 0, j = this.children.length; i < j; i++) { + found = this.children[i].getChild(child); + if(found) { return found; } + } + return null; + }, + /** + * @member PShape + * The getChildCount() returns the number of children + * + * @return {int} returns a count of children + */ + getChildCount: function () { + return this.children.length; + }, + /** + * @member PShape + * The addChild() adds a child to the PShape. + * + * @param {PShape} child the child to add + */ + addChild: function( child ) { + this.children.push(child); + child.parent = this; + if (child.getName() !== null) { + this.addName(child.getName(), child); + } + }, + /** + * @member PShape + * The addName() functions adds a shape to the name lookup table. + * + * @param {String} name the name to be added + * @param {PShape} shape the shape + */ + addName: function(name, shape) { + if (this.parent !== null) { + this.parent.addName( name, shape ); + } else { + this.nameTable.push( [name, shape] ); + } + }, + /** + * @member PShape + * The translate() function specifies an amount to displace the shape. The x parameter specifies left/right translation, the y parameter specifies up/down translation, and the z parameter specifies translations toward/away from the screen. + * Subsequent calls to the method accumulates the effect. For example, calling translate(50, 0) and then translate(20, 0) is the same as translate(70, 0). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + *

    Using this method with the z parameter requires using the P3D or OPENGL parameter in combination with size. + * + * @param {int|float} x left/right translation + * @param {int|float} y up/down translation + * @param {int|float} z forward/back translation + * + * @see PMatrix2D#translate + * @see PMatrix3D#translate + */ + translate: function() { + if(arguments.length === 2) + { + this.checkMatrix(2); + this.matrix.translate(arguments[0], arguments[1]); + } else { + this.checkMatrix(3); + this.matrix.translate(arguments[0], arguments[1], 0); + } + }, + /** + * @member PShape + * The checkMatrix() function makes sure that the shape's matrix is 1) not null, and 2) has a matrix + * that can handle at least the specified number of dimensions. + * + * @param {int} dimensions the specified number of dimensions + */ + checkMatrix: function(dimensions) { + if(this.matrix === null) { + if(dimensions === 2) { + this.matrix = new PMatrix2D(); + } else { + this.matrix = new PMatrix3D(); + } + }else if(dimensions === 3 && this.matrix instanceof PMatrix2D) { + this.matrix = new PMatrix3D(); + } + }, + /** + * @member PShape + * The rotateX() function rotates a shape around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. + *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. + * Subsequent calls to the method accumulates the effect. For example, calling rotateX(HALF_PI) and then rotateX(HALF_PI) is the same as rotateX(PI). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. + * + * @param {float}angle angle of rotation specified in radians + * + * @see PMatrix3D#rotateX + */ + rotateX: function(angle) { + this.rotate(angle, 1, 0, 0); + }, + /** + * @member PShape + * The rotateY() function rotates a shape around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. + *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. + * Subsequent calls to the method accumulates the effect. For example, calling rotateY(HALF_PI) and then rotateY(HALF_PI) is the same as rotateY(PI). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. + * + * @param {float}angle angle of rotation specified in radians + * + * @see PMatrix3D#rotateY + */ + rotateY: function(angle) { + this.rotate(angle, 0, 1, 0); + }, + /** + * @member PShape + * The rotateZ() function rotates a shape around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. + *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. + * Subsequent calls to the method accumulates the effect. For example, calling rotateZ(HALF_PI) and then rotateZ(HALF_PI) is the same as rotateZ(PI). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. + * + * @param {float}angle angle of rotation specified in radians + * + * @see PMatrix3D#rotateZ + */ + rotateZ: function(angle) { + this.rotate(angle, 0, 0, 1); + }, + /** + * @member PShape + * The rotate() function rotates a shape the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. + *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. + * Transformations apply to everything that happens after and subsequent calls to the method accumulates the effect. + * For example, calling rotate(HALF_PI) and then rotate(HALF_PI) is the same as rotate(PI). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + * If optional parameters x,y,z are supplied, the rotate is about the point (x, y, z). + * + * @param {float}angle angle of rotation specified in radians + * @param {float}x x-coordinate of the point + * @param {float}y y-coordinate of the point + * @param {float}z z-coordinate of the point + * @see PMatrix2D#rotate + * @see PMatrix3D#rotate + */ + rotate: function() { + if(arguments.length === 1){ + this.checkMatrix(2); + this.matrix.rotate(arguments[0]); + } else { + this.checkMatrix(3); + this.matrix.rotate(arguments[0], + arguments[1], + arguments[2], + arguments[3]); + } + }, + /** + * @member PShape + * The scale() function increases or decreases the size of a shape by expanding and contracting vertices. Shapes always scale from the relative origin of their bounding box. + * Scale values are specified as decimal percentages. For example, the method call scale(2.0) increases the dimension of a shape by 200%. + * Subsequent calls to the method multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). + * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. + *

    Using this fuction with the z parameter requires passing P3D or OPENGL into the size() parameter. + * + * @param {float}s percentage to scale the object + * @param {float}x percentage to scale the object in the x-axis + * @param {float}y percentage to scale the object in the y-axis + * @param {float}z percentage to scale the object in the z-axis + * + * @see PMatrix2D#scale + * @see PMatrix3D#scale + */ + scale: function() { + if(arguments.length === 2) { + this.checkMatrix(2); + this.matrix.scale(arguments[0], arguments[1]); + } else if (arguments.length === 3) { + this.checkMatrix(2); + this.matrix.scale(arguments[0], arguments[1], arguments[2]); + } else { + this.checkMatrix(2); + this.matrix.scale(arguments[0]); + } + }, + /** + * @member PShape + * The resetMatrix() function resets the matrix + * + * @see PMatrix2D#reset + * @see PMatrix3D#reset + */ + resetMatrix: function() { + this.checkMatrix(2); + this.matrix.reset(); + }, + /** + * @member PShape + * The applyMatrix() function multiplies this matrix by another matrix of type PMatrix3D or PMatrix2D. + * Individual elements can also be provided + * + * @param {PMatrix3D|PMatrix2D} matrix the matrix to multiply by + * + * @see PMatrix2D#apply + * @see PMatrix3D#apply + */ + applyMatrix: function(matrix) { + if (arguments.length === 1) { + this.applyMatrix(matrix.elements[0], + matrix.elements[1], 0, + matrix.elements[2], + matrix.elements[3], + matrix.elements[4], 0, + matrix.elements[5], + 0, 0, 1, 0, + 0, 0, 0, 1); + } else if (arguments.length === 6) { + this.checkMatrix(2); + this.matrix.apply(arguments[0], arguments[1], arguments[2], 0, + arguments[3], arguments[4], arguments[5], 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + } else if (arguments.length === 16) { + this.checkMatrix(3); + this.matrix.apply(arguments[0], + arguments[1], + arguments[2], + arguments[3], + arguments[4], + arguments[5], + arguments[6], + arguments[7], + arguments[8], + arguments[9], + arguments[10], + arguments[11], + arguments[12], + arguments[13], + arguments[14], + arguments[15]); + } + } + }; - /* - col - accumulated color - spec - accumulated specular highlight - vertNormal - Normal of the vertex - ecPos - eye coordinate position - light - light structure - */ - "void PointLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {" + - " float powerFactor;" + + return PShape; +}; +},{}],17:[function(require,module,exports){ +/** + * Common functions traditionally on "p" that should be class functions + * that get bound to "p" when an instance is actually built, instead. + */ +module.exports = (function commonFunctions(undef) { - // Get the vector from the light to the vertex. - " vec3 VP = light.position - ecPos;" + + var CommonFunctions = { + /** + * Remove whitespace characters from the beginning and ending + * of a String or a String array. Works like String.trim() but includes the + * unicode nbsp character as well. If an array is passed in the function will return a new array not effecting the array passed in. + * + * @param {String} str the string to trim + * @param {String[]} str the string array to trim + * + * @return {String|String[]} retrurns a string or an array will removed whitespaces + */ + trim: function(str) { + if (str instanceof Array) { + var arr = []; + for (var i = 0; i < str.length; i++) { + arr.push(str[i].replace(/^\s*/, '').replace(/\s*$/, '').replace(/\r*$/, '')); + } + return arr; + } + return str.replace(/^\s*/, '').replace(/\s*$/, '').replace(/\r*$/, ''); + }, - // Get the distance from the current vector to the light position. - " float d = length( VP ); " + + /** + * Converts a degree measurement to its corresponding value in radians. Radians and degrees are two ways of + * measuring the same thing. There are 360 degrees in a circle and 2*PI radians in a circle. For example, + * 90 degrees = PI/2 = 1.5707964. All trigonometric methods in Processing require their parameters to be specified in radians. + * + * @param {int|float} value an angle in radians + * + * @returns {float} + * + * @see degrees + */ + radians: function(aAngle) { + return (aAngle / 180) * Math.PI; + }, - // Normalize the light ray so it can be used in the dot product operation. - " VP = normalize( VP );" + + /** + * Number-to-String formatting function. Prepends "plus" or "minus" depending + * on whether the value is positive or negative, respectively, after padding + * the value with zeroes on the left and right, the number of zeroes used dictated + * by the values 'leftDigits' and 'rightDigits'. 'value' cannot be an array. + * + * @param {int|float} value the number to format + * @param {String} plus the prefix for positive numbers + * @param {String} minus the prefix for negative numbers + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * @param {String} group string delimited for groups, such as the comma in "1,000" + * + * @returns {String or String[]} + * + * @see nfCore + */ + nfCoreScalar: function (value, plus, minus, leftDigits, rightDigits, group) { + var sign = (value < 0) ? minus : plus; + var autoDetectDecimals = rightDigits === 0; + var rightDigitsOfDefault = (rightDigits === undef || rightDigits < 0) ? 0 : rightDigits; - " float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d ));" + + var absValue = Math.abs(value); + if (autoDetectDecimals) { + rightDigitsOfDefault = 1; + absValue *= 10; + while (Math.abs(Math.round(absValue) - absValue) > 1e-6 && rightDigitsOfDefault < 7) { + ++rightDigitsOfDefault; + absValue *= 10; + } + } else if (rightDigitsOfDefault !== 0) { + absValue *= Math.pow(10, rightDigitsOfDefault); + } - " float nDotVP = max( 0.0, dot( vertNormal, VP ));" + - " vec3 halfVector = normalize( VP - normalize(ecPos) );" + - " float nDotHV = max( 0.0, dot( vertNormal, halfVector ));" + + // Using Java's default rounding policy HALF_EVEN. This policy is based + // on the idea that 0.5 values round to the nearest even number, and + // everything else is rounded normally. + var number, doubled = absValue * 2; + if (Math.floor(absValue) === absValue) { + number = absValue; + } else if (Math.floor(doubled) === doubled) { + var floored = Math.floor(absValue); + number = floored + (floored % 2); + } else { + number = Math.round(absValue); + } - " if( nDotVP == 0.0 ) {" + - " powerFactor = 0.0;" + - " }" + - " else {" + - " powerFactor = pow( nDotHV, uShininess );" + - " }" + + var buffer = ""; + var totalDigits = leftDigits + rightDigitsOfDefault; + while (totalDigits > 0 || number > 0) { + totalDigits--; + buffer = "" + (number % 10) + buffer; + number = Math.floor(number / 10); + } + if (group !== undef) { + var i = buffer.length - 3 - rightDigitsOfDefault; + while(i > 0) { + buffer = buffer.substring(0,i) + group + buffer.substring(i); + i-=3; + } + } + if (rightDigitsOfDefault > 0) { + return sign + buffer.substring(0, buffer.length - rightDigitsOfDefault) + + "." + buffer.substring(buffer.length - rightDigitsOfDefault, buffer.length); + } + return sign + buffer; + }, - " spec += uSpecular * powerFactor * attenuation;" + - " col += light.color * nDotVP * attenuation;" + - "}" + + /** + * Number-to-String formatting function. Prepends "plus" or "minus" depending + * on whether the value is positive or negative, respectively, after padding + * the value with zeroes on the left and right, the number of zeroes used dictated + * by the values 'leftDigits' and 'rightDigits'. 'value' can be an array; + * if the input is an array, each value in it is formatted separately, and + * an array with formatted values is returned. + * + * @param {int|int[]|float|float[]} value the number(s) to format + * @param {String} plus the prefix for positive numbers + * @param {String} minus the prefix for negative numbers + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * @param {String} group string delimited for groups, such as the comma in "1,000" + * + * @returns {String or String[]} + * + * @see nfCoreScalar + */ + nfCore: function(value, plus, minus, leftDigits, rightDigits, group) { + if (value instanceof Array) { + var arr = []; + for (var i = 0, len = value.length; i < len; i++) { + arr.push(CommonFunctions.nfCoreScalar(value[i], plus, minus, leftDigits, rightDigits, group)); + } + return arr; + } + return CommonFunctions.nfCoreScalar(value, plus, minus, leftDigits, rightDigits, group); + }, - /* - col - accumulated color - spec - accumulated specular highlight - vertNormal - Normal of the vertex - ecPos - eye coordinate position - light - light structure - */ - "void SpotLight( inout vec3 col, inout vec3 spec, in vec3 vertNormal, in vec3 ecPos, in Light light ) {" + - " float spotAttenuation;" + - " float powerFactor = 0.0;" + - - // Calculate the vector from the current vertex to the light. - " vec3 VP = light.position - ecPos;" + - " vec3 ldir = normalize( -light.direction );" + + /** + * Utility function for formatting numbers into strings. There are two versions, one for + * formatting floats and one for formatting ints. The values for the digits, left, and + * right parameters should always be positive integers. + * As shown in the above example, nf() is used to add zeros to the left and/or right + * of a number. This is typically for aligning a list of numbers. To remove digits from + * a floating-point number, use the int(), ceil(), floor(), or round() functions. + * + * @param {int|int[]|float|float[]} value the number(s) to format + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * + * @returns {String or String[]} + * + * @see nfs + * @see nfp + * @see nfc + */ + nf: function(value, leftDigits, rightDigits) { + return CommonFunctions.nfCore(value, "", "-", leftDigits, rightDigits); + }, - // Get the distance from the spotlight and the vertex - " float d = length( VP );" + - " VP = normalize( VP );" + + /** + * Utility function for formatting numbers into strings. Similar to nf() but leaves a blank space in front + * of positive numbers so they align with negative numbers in spite of the minus symbol. There are two + * versions, one for formatting floats and one for formatting ints. The values for the digits, left, + * and right parameters should always be positive integers. + * + * @param {int|int[]|float|float[]} value the number(s) to format + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * + * @returns {String or String[]} + * + * @see nf + * @see nfp + * @see nfc + */ + nfs: function(value, leftDigits, rightDigits) { + return CommonFunctions.nfCore(value, " ", "-", leftDigits, rightDigits); + }, - " float attenuation = 1.0 / ( uFalloff[0] + ( uFalloff[1] * d ) + ( uFalloff[2] * d * d ) );" + + /** + * Utility function for formatting numbers into strings. Similar to nf() but puts a "+" in front of + * positive numbers and a "-" in front of negative numbers. There are two versions, one for formatting + * floats and one for formatting ints. The values for the digits, left, and right parameters should + * always be positive integers. + * + * @param {int|int[]|float|float[]} value the number(s) to format + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * + * @returns {String or String[]} + * + * @see nfs + * @see nf + * @see nfc + */ + nfp: function(value, leftDigits, rightDigits) { + return CommonFunctions.nfCore(value, "+", "-", leftDigits, rightDigits); + }, - // Dot product of the vector from vertex to light and light direction. - " float spotDot = dot( VP, ldir );" + + /** + * Utility function for formatting numbers into strings and placing appropriate commas to mark + * units of 1000. There are two versions, one for formatting ints and one for formatting an array + * of ints. The value for the digits parameter should always be a positive integer. + * + * @param {int|int[]|float|float[]} value the number(s) to format + * @param {int} left number of digits to the left of the decimal point + * @param {int} right number of digits to the right of the decimal point + * + * @returns {String or String[]} + * + * @see nf + * @see nfs + * @see nfp + */ + nfc: function(value, rightDigits) { + return CommonFunctions.nfCore(value, "", "-", 0, rightDigits, ","); + }, - // If the vertex falls inside the cone - (webglMaxTempsWorkaround ? // Windows reports max temps error if light.angle is used - " spotAttenuation = 1.0; " : - " if( spotDot > cos( light.angle ) ) {" + - " spotAttenuation = pow( spotDot, light.concentration );" + - " }" + - " else{" + - " spotAttenuation = 0.0;" + - " }" + - " attenuation *= spotAttenuation;" + - "") + + // used to bind all common functions to "p" + withCommonFunctions: function withCommonFunctions(p) { + ["trim", "radians", "nf", "nfs", "nfp", "nfc"].forEach(function(f){ + p[f] = CommonFunctions[f]; + }); + } + }; - " float nDotVP = max( 0.0, dot( vertNormal, VP ) );" + - " vec3 halfVector = normalize( VP - normalize(ecPos) );" + - " float nDotHV = max( 0.0, dot( vertNormal, halfVector ) );" + + return CommonFunctions; +}()); - " if( nDotVP != 0.0 ) {" + - " powerFactor = pow( nDotHV, uShininess );" + - " }" + +},{}],18:[function(require,module,exports){ +/** + * web colors, by name + */ +module.exports = { + aliceblue: "#f0f8ff", + antiquewhite: "#faebd7", + aqua: "#00ffff", + aquamarine: "#7fffd4", + azure: "#f0ffff", + beige: "#f5f5dc", + bisque: "#ffe4c4", + black: "#000000", + blanchedalmond: "#ffebcd", + blue: "#0000ff", + blueviolet: "#8a2be2", + brown: "#a52a2a", + burlywood: "#deb887", + cadetblue: "#5f9ea0", + chartreuse: "#7fff00", + chocolate: "#d2691e", + coral: "#ff7f50", + cornflowerblue: "#6495ed", + cornsilk: "#fff8dc", + crimson: "#dc143c", + cyan: "#00ffff", + darkblue: "#00008b", + darkcyan: "#008b8b", + darkgoldenrod: "#b8860b", + darkgray: "#a9a9a9", + darkgreen: "#006400", + darkkhaki: "#bdb76b", + darkmagenta: "#8b008b", + darkolivegreen: "#556b2f", + darkorange: "#ff8c00", + darkorchid: "#9932cc", + darkred: "#8b0000", + darksalmon: "#e9967a", + darkseagreen: "#8fbc8f", + darkslateblue: "#483d8b", + darkslategray: "#2f4f4f", + darkturquoise: "#00ced1", + darkviolet: "#9400d3", + deeppink: "#ff1493", + deepskyblue: "#00bfff", + dimgray: "#696969", + dodgerblue: "#1e90ff", + firebrick: "#b22222", + floralwhite: "#fffaf0", + forestgreen: "#228b22", + fuchsia: "#ff00ff", + gainsboro: "#dcdcdc", + ghostwhite: "#f8f8ff", + gold: "#ffd700", + goldenrod: "#daa520", + gray: "#808080", + green: "#008000", + greenyellow: "#adff2f", + honeydew: "#f0fff0", + hotpink: "#ff69b4", + indianred: "#cd5c5c", + indigo: "#4b0082", + ivory: "#fffff0", + khaki: "#f0e68c", + lavender: "#e6e6fa", + lavenderblush: "#fff0f5", + lawngreen: "#7cfc00", + lemonchiffon: "#fffacd", + lightblue: "#add8e6", + lightcoral: "#f08080", + lightcyan: "#e0ffff", + lightgoldenrodyellow: "#fafad2", + lightgrey: "#d3d3d3", + lightgreen: "#90ee90", + lightpink: "#ffb6c1", + lightsalmon: "#ffa07a", + lightseagreen: "#20b2aa", + lightskyblue: "#87cefa", + lightslategray: "#778899", + lightsteelblue: "#b0c4de", + lightyellow: "#ffffe0", + lime: "#00ff00", + limegreen: "#32cd32", + linen: "#faf0e6", + magenta: "#ff00ff", + maroon: "#800000", + mediumaquamarine: "#66cdaa", + mediumblue: "#0000cd", + mediumorchid: "#ba55d3", + mediumpurple: "#9370d8", + mediumseagreen: "#3cb371", + mediumslateblue: "#7b68ee", + mediumspringgreen: "#00fa9a", + mediumturquoise: "#48d1cc", + mediumvioletred: "#c71585", + midnightblue: "#191970", + mintcream: "#f5fffa", + mistyrose: "#ffe4e1", + moccasin: "#ffe4b5", + navajowhite: "#ffdead", + navy: "#000080", + oldlace: "#fdf5e6", + olive: "#808000", + olivedrab: "#6b8e23", + orange: "#ffa500", + orangered: "#ff4500", + orchid: "#da70d6", + palegoldenrod: "#eee8aa", + palegreen: "#98fb98", + paleturquoise: "#afeeee", + palevioletred: "#d87093", + papayawhip: "#ffefd5", + peachpuff: "#ffdab9", + peru: "#cd853f", + pink: "#ffc0cb", + plum: "#dda0dd", + powderblue: "#b0e0e6", + purple: "#800080", + red: "#ff0000", + rosybrown: "#bc8f8f", + royalblue: "#4169e1", + saddlebrown: "#8b4513", + salmon: "#fa8072", + sandybrown: "#f4a460", + seagreen: "#2e8b57", + seashell: "#fff5ee", + sienna: "#a0522d", + silver: "#c0c0c0", + skyblue: "#87ceeb", + slateblue: "#6a5acd", + slategray: "#708090", + snow: "#fffafa", + springgreen: "#00ff7f", + steelblue: "#4682b4", + tan: "#d2b48c", + teal: "#008080", + thistle: "#d8bfd8", + tomato: "#ff6347", + turquoise: "#40e0d0", + violet: "#ee82ee", + wheat: "#f5deb3", + white: "#ffffff", + whitesmoke: "#f5f5f5", + yellow: "#ffff00", + yellowgreen: "#9acd32" + }; - " spec += uSpecular * powerFactor * attenuation;" + - " col += light.color * nDotVP * attenuation;" + - "}" + +},{}],19:[function(require,module,exports){ +/** + * SVG stands for Scalable Vector Graphics, a portable graphics format. It is + * a vector format so it allows for infinite resolution and relatively small + * file sizes. Most modern media software can view SVG files, including Adobe + * products, Firefox, etc. Illustrator and Inkscape can edit SVG files. + * + * @param {PApplet} parent typically use "this" + * @param {String} filename name of the SVG file to load + * @param {XMLElement} xml an XMLElement element + * @param {PShapeSVG} parent the parent PShapeSVG + * + * @see PShape + */ +module.exports = function(options) { + var CommonFunctions = options.CommonFunctions, + PConstants = options.PConstants, + PShape = options.PShape, + XMLElement = options.XMLElement, + colors = options.colors; + + var PShapeSVG = function() { + PShape.call(this); // PShape is the base class. + if (arguments.length === 1) { // xml element coming in + this.element = arguments[0]; + + // set values to their defaults according to the SVG spec + this.vertexCodes = []; + this.vertices = []; + this.opacity = 1; + + this.stroke = false; + this.strokeColor = PConstants.ALPHA_MASK; + this.strokeWeight = 1; + this.strokeCap = PConstants.SQUARE; // BUTT in svg spec + this.strokeJoin = PConstants.MITER; + this.strokeGradient = null; + this.strokeGradientPaint = null; + this.strokeName = null; + this.strokeOpacity = 1; + + this.fill = true; + this.fillColor = PConstants.ALPHA_MASK; + this.fillGradient = null; + this.fillGradientPaint = null; + this.fillName = null; + this.fillOpacity = 1; + + if (this.element.getName() !== "svg") { + throw("root is not , it's <" + this.element.getName() + ">"); + } + } + else if (arguments.length === 2) { + if (typeof arguments[1] === 'string') { + if (arguments[1].indexOf(".svg") > -1) { //its a filename + this.element = new XMLElement(true, arguments[1]); + // set values to their defaults according to the SVG spec + this.vertexCodes = []; + this.vertices = []; + this.opacity = 1; + + this.stroke = false; + this.strokeColor = PConstants.ALPHA_MASK; + this.strokeWeight = 1; + this.strokeCap = PConstants.SQUARE; // BUTT in svg spec + this.strokeJoin = PConstants.MITER; + this.strokeGradient = ""; + this.strokeGradientPaint = ""; + this.strokeName = ""; + this.strokeOpacity = 1; + + this.fill = true; + this.fillColor = PConstants.ALPHA_MASK; + this.fillGradient = null; + this.fillGradientPaint = null; + this.fillOpacity = 1; + + } + } else { // XMLElement + if (arguments[0]) { // PShapeSVG + this.element = arguments[1]; + this.vertexCodes = arguments[0].vertexCodes.slice(); + this.vertices = arguments[0].vertices.slice(); + + this.stroke = arguments[0].stroke; + this.strokeColor = arguments[0].strokeColor; + this.strokeWeight = arguments[0].strokeWeight; + this.strokeCap = arguments[0].strokeCap; + this.strokeJoin = arguments[0].strokeJoin; + this.strokeGradient = arguments[0].strokeGradient; + this.strokeGradientPaint = arguments[0].strokeGradientPaint; + this.strokeName = arguments[0].strokeName; + + this.fill = arguments[0].fill; + this.fillColor = arguments[0].fillColor; + this.fillGradient = arguments[0].fillGradient; + this.fillGradientPaint = arguments[0].fillGradientPaint; + this.fillName = arguments[0].fillName; + this.strokeOpacity = arguments[0].strokeOpacity; + this.fillOpacity = arguments[0].fillOpacity; + this.opacity = arguments[0].opacity; + } + } + } - "void main(void) {" + - " vec3 finalAmbient = vec3( 0.0 );" + - " vec3 finalDiffuse = vec3( 0.0 );" + - " vec3 finalSpecular = vec3( 0.0 );" + - - " vec4 col = uColor;" + - - " if ( uColor[0] == -1.0 ){" + - " col = aColor;" + - " }" + - - // We use the sphere vertices as the normals when we create the sphere buffer. - // But this only works if the sphere vertices are unit length, so we - // have to normalize the normals here. Since this is only required for spheres - // we could consider placing this in a conditional later on. - " vec3 norm = normalize(vec3( uNormalTransform * vec4( aNormal, 0.0 ) ));" + - - " vec4 ecPos4 = uView * uModel * vec4(aVertex, 1.0);" + - " vec3 ecPos = (vec3(ecPos4))/ecPos4.w;" + - - // If there were no lights this draw call, just use the - // assigned fill color of the shape and the specular value. - " if( uLightCount == 0 ) {" + - " vFrontColor = col + vec4(uMaterialSpecular, 1.0);" + - " }" + - " else {" + - // WebGL forces us to iterate over a constant value - // so we can't iterate using lightCount. - " for( int i = 0; i < 8; i++ ) {" + - " Light l = getLight(i);" + - - // We can stop iterating if we know we have gone past - // the number of lights which are actually on. This gives us a - // significant performance increase with high vertex counts. - " if( i >= uLightCount ){" + - " break;" + - " }" + - - " if( l.type == 0 ) {" + - " AmbientLight( finalAmbient, ecPos, l );" + - " }" + - " else if( l.type == 1 ) {" + - " DirectionalLight( finalDiffuse, finalSpecular, norm, ecPos, l );" + - " }" + - " else if( l.type == 2 ) {" + - " PointLight( finalDiffuse, finalSpecular, norm, ecPos, l );" + - " }" + - " else {" + - " SpotLight( finalDiffuse, finalSpecular, norm, ecPos, l );" + - " }" + - " }" + - - " if( uUsingMat == false ) {" + - " vFrontColor = vec4(" + - " vec3( col ) * finalAmbient +" + - " vec3( col ) * finalDiffuse +" + - " vec3( col ) * finalSpecular," + - " col[3] );" + - " }" + - " else{" + - " vFrontColor = vec4( " + - " uMaterialEmissive + " + - " (vec3(col) * uMaterialAmbient * finalAmbient ) + " + - " (vec3(col) * finalDiffuse) + " + - " (uMaterialSpecular * finalSpecular), " + - " col[3] );" + - " }" + - " }" + - - " vTexture.xy = aTexture.xy;" + - " gl_Position = uProjection * uView * uModel * vec4( aVertex, 1.0 );" + - "}"; - - var fragmentShaderSrc3D = - "#ifdef GL_ES\n" + - "precision highp float;\n" + - "#endif\n" + - - "varying vec4 vFrontColor;" + - - "uniform sampler2D uSampler;" + - "uniform bool uUsingTexture;" + - "varying vec2 vTexture;" + - - // In Processing, when a texture is used, the fill color is ignored - // vec4(1.0,1.0,1.0,0.5) - "void main(void){" + - " if( uUsingTexture ){" + - " gl_FragColor = vec4(texture2D(uSampler, vTexture.xy)) * vFrontColor;" + - " }"+ - " else{" + - " gl_FragColor = vFrontColor;" + - " }" + - "}"; + this.name = this.element.getStringAttribute("id"); + var displayStr = this.element.getStringAttribute("display", "inline"); + this.visible = displayStr !== "none"; + var str = this.element.getAttribute("transform"); + if (str) { + this.matrix = this.parseMatrix(str); + } + // not proper parsing of the viewBox, but will cover us for cases where + // the width and height of the object is not specified + var viewBoxStr = this.element.getStringAttribute("viewBox"); + if ( viewBoxStr !== null ) { + var viewBox = viewBoxStr.split(" "); + this.width = viewBox[2]; + this.height = viewBox[3]; + } - //////////////////////////////////////////////////////////////////////////// - // 3D Functions - //////////////////////////////////////////////////////////////////////////// + // TODO if viewbox is not same as width/height, then use it to scale + // the original objects. for now, viewbox only used when width/height + // are empty values (which by the spec means w/h of "100%" + var unitWidth = this.element.getStringAttribute("width"); + var unitHeight = this.element.getStringAttribute("height"); + if (unitWidth !== null) { + this.width = this.parseUnitSize(unitWidth); + this.height = this.parseUnitSize(unitHeight); + } else { + if ((this.width === 0) || (this.height === 0)) { + // For the spec, the default is 100% and 100%. For purposes + // here, insert a dummy value because this is prolly just a + // font or something for which the w/h doesn't matter. + this.width = 1; + this.height = 1; - /* - * Sets a uniform variable in a program object to a particular - * value. Before calling this function, ensure the correct - * program object has been installed as part of the current - * rendering state by calling useProgram. - * - * On some systems, if the variable exists in the shader but isn't used, - * the compiler will optimize it out and this function will fail. - * - * @param {String} cacheId - * @param {WebGLProgram} programObj program object returned from - * createProgramObject - * @param {String} varName the name of the variable in the shader - * @param {float | Array} varValue either a scalar value or an Array - * - * @returns none - * - * @see uniformi - * @see uniformMatrix - */ - function uniformf(cacheId, programObj, varName, varValue) { - var varLocation = curContextCache.locations[cacheId]; - if(varLocation === undef) { - varLocation = curContext.getUniformLocation(programObj, varName); - curContextCache.locations[cacheId] = varLocation; - } - // the variable won't be found if it was optimized out. - if (varLocation !== null) { - if (varValue.length === 4) { - curContext.uniform4fv(varLocation, varValue); - } else if (varValue.length === 3) { - curContext.uniform3fv(varLocation, varValue); - } else if (varValue.length === 2) { - curContext.uniform2fv(varLocation, varValue); - } else { - curContext.uniform1f(varLocation, varValue); - } + //show warning + throw("The width and/or height is not " + + "readable in the tag of this file."); } } + this.parseColors(this.element); + this.parseChildren(this.element); - /** - * Sets a uniform int or int array in a program object to a particular - * value. Before calling this function, ensure the correct - * program object has been installed as part of the current - * rendering state. - * - * On some systems, if the variable exists in the shader but isn't used, - * the compiler will optimize it out and this function will fail. - * - * @param {String} cacheId - * @param {WebGLProgram} programObj program object returned from - * createProgramObject - * @param {String} varName the name of the variable in the shader - * @param {int | Array} varValue either a scalar value or an Array - * - * @returns none - * - * @see uniformf - * @see uniformMatrix - */ - function uniformi(cacheId, programObj, varName, varValue) { - var varLocation = curContextCache.locations[cacheId]; - if(varLocation === undef) { - varLocation = curContext.getUniformLocation(programObj, varName); - curContextCache.locations[cacheId] = varLocation; - } - // the variable won't be found if it was optimized out. - if (varLocation !== null) { - if (varValue.length === 4) { - curContext.uniform4iv(varLocation, varValue); - } else if (varValue.length === 3) { - curContext.uniform3iv(varLocation, varValue); - } else if (varValue.length === 2) { - curContext.uniform2iv(varLocation, varValue); - } else { - curContext.uniform1i(varLocation, varValue); - } - } + }; + /** + * PShapeSVG methods + * missing: getChild(), print(), parseStyleAttributes(), styles() - deals with strokeGradient and fillGradient + */ + PShapeSVG.prototype = new PShape(); + /** + * @member PShapeSVG + * The parseMatrix() function parses the specified SVG matrix into a PMatrix2D. Note that PMatrix2D + * is rotated relative to the SVG definition, so parameters are rearranged + * here. More about the transformation matrices in + * this section + * of the SVG documentation. + * + * @param {String} str text of the matrix param. + * + * @return {PMatrix2D} a PMatrix2D + */ + PShapeSVG.prototype.parseMatrix = (function() { + function getCoords(s) { + var m = []; + s.replace(/\((.*?)\)/, (function() { + return function(all, params) { + // get the coordinates that can be separated by spaces or a comma + m = params.replace(/,+/g, " ").split(/\s+/); + }; + }())); + return m; } - /** - * Sets the value of a uniform matrix variable in a program - * object. Before calling this function, ensure the correct - * program object has been installed as part of the current - * rendering state. - * - * On some systems, if the variable exists in the shader but - * isn't used, the compiler will optimize it out and this - * function will fail. - * - * @param {String} cacheId - * @param {WebGLProgram} programObj program object returned from - * createProgramObject - * @param {String} varName the name of the variable in the shader - * @param {boolean} transpose must be false - * @param {Array} matrix an array of 4, 9 or 16 values - * - * @returns none - * - * @see uniformi - * @see uniformf - */ - function uniformMatrix(cacheId, programObj, varName, transpose, matrix) { - var varLocation = curContextCache.locations[cacheId]; - if(varLocation === undef) { - varLocation = curContext.getUniformLocation(programObj, varName); - curContextCache.locations[cacheId] = varLocation; + return function(str) { + this.checkMatrix(2); + var pieces = []; + str.replace(/\s*(\w+)\((.*?)\)/g, function(all) { + // get a list of transform definitions + pieces.push(CommonFunctions.trim(all)); + }); + if (pieces.length === 0) { + return null; } - // The variable won't be found if it was optimized out. - if (varLocation !== -1) { - if (matrix.length === 16) { - curContext.uniformMatrix4fv(varLocation, transpose, matrix); - } else if (matrix.length === 9) { - curContext.uniformMatrix3fv(varLocation, transpose, matrix); - } else { - curContext.uniformMatrix2fv(varLocation, transpose, matrix); + + for (var i = 0, j = pieces.length; i < j; i++) { + var m = getCoords(pieces[i]); + + if (pieces[i].indexOf("matrix") !== -1) { + this.matrix.set(m[0], m[2], m[4], m[1], m[3], m[5]); + } else if (pieces[i].indexOf("translate") !== -1) { + var tx = m[0]; + var ty = (m.length === 2) ? m[1] : 0; + this.matrix.translate(tx,ty); + } else if (pieces[i].indexOf("scale") !== -1) { + var sx = m[0]; + var sy = (m.length === 2) ? m[1] : m[0]; + this.matrix.scale(sx,sy); + } else if (pieces[i].indexOf("rotate") !== -1) { + var angle = m[0]; + if (m.length === 1) { + this.matrix.rotate(CommonFunctions.radians(angle)); + } else if (m.length === 3) { + this.matrix.translate(m[1], m[2]); + this.matrix.rotate(CommonFunctions.radians(m[0])); + this.matrix.translate(-m[1], -m[2]); + } + } else if (pieces[i].indexOf("skewX") !== -1) { + this.matrix.skewX(parseFloat(m[0])); + } else if (pieces[i].indexOf("skewY") !== -1) { + this.matrix.skewY(m[0]); + } else if (pieces[i].indexOf("shearX") !== -1) { + this.matrix.shearX(m[0]); + } else if (pieces[i].indexOf("shearY") !== -1) { + this.matrix.shearY(m[0]); } } - } + return this.matrix; + }; + }()); - /** - * Binds the VBO, sets the vertex attribute data for the program - * object and enables the attribute. - * - * On some systems, if the attribute exists in the shader but - * isn't used, the compiler will optimize it out and this - * function will fail. - * - * @param {String} cacheId - * @param {WebGLProgram} programObj program object returned from - * createProgramObject - * @param {String} varName the name of the variable in the shader - * @param {int} size the number of components per vertex attribute - * @param {WebGLBuffer} VBO Vertex Buffer Object - * - * @returns none - * - * @see disableVertexAttribPointer - */ - function vertexAttribPointer(cacheId, programObj, varName, size, VBO) { - var varLocation = curContextCache.attributes[cacheId]; - if(varLocation === undef) { - varLocation = curContext.getAttribLocation(programObj, varName); - curContextCache.attributes[cacheId] = varLocation; - } - if (varLocation !== -1) { - curContext.bindBuffer(curContext.ARRAY_BUFFER, VBO); - curContext.vertexAttribPointer(varLocation, size, curContext.FLOAT, false, 0, 0); - curContext.enableVertexAttribArray(varLocation); + /** + * @member PShapeSVG + * The parseChildren() function parses the specified XMLElement + * + * @param {XMLElement}element the XMLElement to parse + */ + PShapeSVG.prototype.parseChildren = function(element) { + var newelement = element.getChildren(); + var base = new PShape(); + var i, j; + for (i = 0, j = newelement.length; i < j; i++) { + var kid = this.parseChild(newelement[i]); + if (kid) { + base.addChild(kid); } } - - /** - * Disables a program object attribute from being sent to WebGL. - * - * @param {String} cacheId - * @param {WebGLProgram} programObj program object returned from - * createProgramObject - * @param {String} varName name of the attribute - * - * @returns none - * - * @see vertexAttribPointer - */ - function disableVertexAttribPointer(cacheId, programObj, varName){ - var varLocation = curContextCache.attributes[cacheId]; - if(varLocation === undef) { - varLocation = curContext.getAttribLocation(programObj, varName); - curContextCache.attributes[cacheId] = varLocation; - } - if (varLocation !== -1) { - curContext.disableVertexAttribArray(varLocation); - } + for (i = 0, j = base.children.length; i < j; i++) { + this.children.push(base.children[i]); } - - /** - * Creates a WebGL program object. - * - * @param {String} vetexShaderSource - * @param {String} fragmentShaderSource - * - * @returns {WebGLProgram} A program object - */ - var createProgramObject = function(curContext, vetexShaderSource, fragmentShaderSource) { - var vertexShaderObject = curContext.createShader(curContext.VERTEX_SHADER); - curContext.shaderSource(vertexShaderObject, vetexShaderSource); - curContext.compileShader(vertexShaderObject); - if (!curContext.getShaderParameter(vertexShaderObject, curContext.COMPILE_STATUS)) { - throw curContext.getShaderInfoLog(vertexShaderObject); - } - - var fragmentShaderObject = curContext.createShader(curContext.FRAGMENT_SHADER); - curContext.shaderSource(fragmentShaderObject, fragmentShaderSource); - curContext.compileShader(fragmentShaderObject); - if (!curContext.getShaderParameter(fragmentShaderObject, curContext.COMPILE_STATUS)) { - throw curContext.getShaderInfoLog(fragmentShaderObject); - } - - var programObject = curContext.createProgram(); - curContext.attachShader(programObject, vertexShaderObject); - curContext.attachShader(programObject, fragmentShaderObject); - curContext.linkProgram(programObject); - if (!curContext.getProgramParameter(programObject, curContext.LINK_STATUS)) { - throw "Error linking shaders."; - } - - return programObject; - }; - - //////////////////////////////////////////////////////////////////////////// - // 2D/3D drawing handling - //////////////////////////////////////////////////////////////////////////// - var imageModeCorner = function(x, y, w, h, whAreSizes) { - return { - x: x, - y: y, - w: w, - h: h - }; - }; - var imageModeConvert = imageModeCorner; - - var imageModeCorners = function(x, y, w, h, whAreSizes) { - return { - x: x, - y: y, - w: whAreSizes ? w : w - x, - h: whAreSizes ? h : h - y - }; - }; - - var imageModeCenter = function(x, y, w, h, whAreSizes) { - return { - x: x - w / 2, - y: y - h / 2, - w: w, - h: h - }; - }; - - // Objects for shared, 2D and 3D contexts - var DrawingShared = function(){}; - var Drawing2D = function(){}; - var Drawing3D = function(){}; - var DrawingPre = function(){}; - - // Setup the prototype chain - Drawing2D.prototype = new DrawingShared(); - Drawing2D.prototype.constructor = Drawing2D; - Drawing3D.prototype = new DrawingShared(); - Drawing3D.prototype.constructor = Drawing3D; - DrawingPre.prototype = new DrawingShared(); - DrawingPre.prototype.constructor = DrawingPre; - - // A no-op function for when the user calls 3D functions from a 2D sketch - // We can change this to a throw or console.error() later if we want - DrawingShared.prototype.a3DOnlyFunction = nop; - - //////////////////////////////////////////////////////////////////////////// - // Char handling - //////////////////////////////////////////////////////////////////////////// - var charMap = {}; - - var Char = p.Character = function(chr) { - if (typeof chr === 'string' && chr.length === 1) { - this.code = chr.charCodeAt(0); - } else if (typeof chr === 'number') { - this.code = chr; - } else if (chr instanceof Char) { - this.code = chr; - } else { - this.code = NaN; - } - - return (charMap[this.code] === undef) ? charMap[this.code] = this : charMap[this.code]; - }; - - Char.prototype.toString = function() { - return String.fromCharCode(this.code); - }; - - Char.prototype.valueOf = function() { - return this.code; - }; - - /** - * Datatype for storing shapes. Processing can currently load and display SVG (Scalable Vector Graphics) shapes. - * Before a shape is used, it must be loaded with the loadShape() function. The shape() function is used to draw the shape to the display window. - * The PShape object contain a group of methods, linked below, that can operate on the shape data. - *

    The loadShape() method supports SVG files created with Inkscape and Adobe Illustrator. - * It is not a full SVG implementation, but offers some straightforward support for handling vector data. - * - * @param {int} family the shape type, one of GROUP, PRIMITIVE, PATH, or GEOMETRY - * - * @see #shape() - * @see #loadShape() - * @see #shapeMode() - */ - var PShape = p.PShape = function(family) { - this.family = family || PConstants.GROUP; - this.visible = true; - this.style = true; - this.children = []; - this.nameTable = []; - this.params = []; - this.name = ""; - this.image = null; //type PImage - this.matrix = null; - this.kind = null; - this.close = null; - this.width = null; - this.height = null; - this.parent = null; - }; - /** - * PShape methods - * missing: findChild(), apply(), contains(), findChild(), getPrimitive(), getParams(), getVertex() , getVertexCount(), - * getVertexCode() , getVertexCodes() , getVertexCodeCount(), getVertexX(), getVertexY(), getVertexZ() - */ - PShape.prototype = { - /** - * @member PShape - * The isVisible() function returns a boolean value "true" if the image is set to be visible, "false" if not. This is modified with the setVisible() parameter. - *

    The visibility of a shape is usually controlled by whatever program created the SVG file. - * For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. - * - * @return {boolean} returns "true" if the image is set to be visible, "false" if not - */ - isVisible: function(){ - return this.visible; - }, - /** - * @member PShape - * The setVisible() function sets the shape to be visible or invisible. This is determined by the value of the visible parameter. - *

    The visibility of a shape is usually controlled by whatever program created the SVG file. - * For instance, this parameter is controlled by showing or hiding the shape in the layers palette in Adobe Illustrator. - * - * @param {boolean} visible "false" makes the shape invisible and "true" makes it visible - */ - setVisible: function (visible){ - this.visible = visible; - }, - /** - * @member PShape - * The disableStyle() function disables the shape's style data and uses Processing's current styles. Styles include attributes such as colors, stroke weight, and stroke joints. - * Overrides this shape's style information and uses PGraphics styles and colors. Identical to ignoreStyles(true). Also disables styles for all child shapes. - */ - disableStyle: function(){ - this.style = false; - for(var i = 0, j=this.children.length; i part of the SVG document. - */ - drawPath: function(renderContext) { - var i, j; - if (this.vertices.length === 0) { return; } - renderContext.beginShape(); - if (this.vertexCodes.length === 0) { // each point is a simple vertex - if (this.vertices[0].length === 2) { // drawing 2D vertices - for (i = 0, j = this.vertices.length; i < j; i++) { - renderContext.vertex(this.vertices[i][0], this.vertices[i][1]); + }; + /** + * @member PShapeSVG + * The getName() function returns the name + * + * @return {String} the name + */ + PShapeSVG.prototype.getName = function() { + return this.name; + }; + /** + * @member PShapeSVG + * The parseChild() function parses a child XML element. + * + * @param {XMLElement} elem the element to parse + * + * @return {PShape} the newly created PShape + */ + PShapeSVG.prototype.parseChild = function( elem ) { + var name = elem.getName(); + var shape; + if (name === "g") { + shape = new PShapeSVG(this, elem); + } else if (name === "defs") { + // generally this will contain gradient info, so may + // as well just throw it into a group element for parsing + shape = new PShapeSVG(this, elem); + } else if (name === "line") { + shape = new PShapeSVG(this, elem); + shape.parseLine(); + } else if (name === "circle") { + shape = new PShapeSVG(this, elem); + shape.parseEllipse(true); + } else if (name === "ellipse") { + shape = new PShapeSVG(this, elem); + shape.parseEllipse(false); + } else if (name === "rect") { + shape = new PShapeSVG(this, elem); + shape.parseRect(); + } else if (name === "polygon") { + shape = new PShapeSVG(this, elem); + shape.parsePoly(true); + } else if (name === "polyline") { + shape = new PShapeSVG(this, elem); + shape.parsePoly(false); + } else if (name === "path") { + shape = new PShapeSVG(this, elem); + shape.parsePath(); + } else if (name === "radialGradient") { + //return new RadialGradient(this, elem); + unimplemented('PShapeSVG.prototype.parseChild, name = radialGradient'); + } else if (name === "linearGradient") { + //return new LinearGradient(this, elem); + unimplemented('PShapeSVG.prototype.parseChild, name = linearGradient'); + } else if (name === "text") { + unimplemented('PShapeSVG.prototype.parseChild, name = text'); + } else if (name === "filter") { + unimplemented('PShapeSVG.prototype.parseChild, name = filter'); + } else if (name === "mask") { + unimplemented('PShapeSVG.prototype.parseChild, name = mask'); + } else { + // ignoring + } + return shape; + }; + /** + * @member PShapeSVG + * The parsePath() function parses the element of the svg file + * A path is defined by including a path element which contains a d="(path data)" attribute, where the d attribute contains + * the moveto, line, curve (both cubic and quadratic Beziers), arc and closepath instructions. + **/ + PShapeSVG.prototype.parsePath = function() { + this.family = PConstants.PATH; + this.kind = 0; + var pathDataChars = []; + var c; + //change multiple spaces and commas to single space + var pathData = CommonFunctions.trim(this.element.getStringAttribute("d").replace(/[\s,]+/g,' ')); + if (pathData === null) { + return; + } + pathData = pathData.split(''); + var cx = 0, + cy = 0, + ctrlX = 0, + ctrlY = 0, + ctrlX1 = 0, + ctrlX2 = 0, + ctrlY1 = 0, + ctrlY2 = 0, + endX = 0, + endY = 0, + ppx = 0, + ppy = 0, + px = 0, + py = 0, + i = 0, + valOf = 0; + var str = ""; + var tmpArray = []; + var flag = false; + var lastInstruction; + var command; + var j, k; + while (i< pathData.length) { + valOf = pathData[i].charCodeAt(0); + if ((valOf >= 65 && valOf <= 90) || (valOf >= 97 && valOf <= 122)) { + // if it's a letter + // populate the tmpArray with coordinates + j = i; + i++; + if (i < pathData.length) { // don't go over boundary of array + tmpArray = []; + valOf = pathData[i].charCodeAt(0); + while (!((valOf >= 65 && valOf <= 90) || + (valOf >= 97 && valOf <= 100) || + (valOf >= 102 && valOf <= 122)) && flag === false) { // if its NOT a letter + if (valOf === 32) { //if its a space and the str isn't empty + // sometimes you get a space after the letter + if (str !== "") { + tmpArray.push(parseFloat(str)); + str = ""; + } + i++; + } else if (valOf === 45) { //if it's a - + // allow for 'e' notation in numbers, e.g. 2.10e-9 + if (pathData[i-1].charCodeAt(0) === 101) { + str += pathData[i].toString(); + i++; + } else { + // sometimes no space separator after (ex: 104.535-16.322) + if (str !== "") { + tmpArray.push(parseFloat(str)); + } + str = pathData[i].toString(); + i++; + } + } else { + str += pathData[i].toString(); + i++; } - } else { // drawing 3D vertices - for (i = 0, j = this.vertices.length; i < j; i++) { - renderContext.vertex(this.vertices[i][0], - this.vertices[i][1], - this.vertices[i][2]); + if (i === pathData.length) { // don't go over boundary of array + flag = true; + } else { + valOf = pathData[i].charCodeAt(0); } } - } else { // coded set of vertices - var index = 0; - if (this.vertices[0].length === 2) { // drawing a 2D path - for (i = 0, j = this.vertexCodes.length; i < j; i++) { - if (this.vertexCodes[i] === PConstants.VERTEX) { - renderContext.vertex(this.vertices[index][0], this.vertices[index][1], this.vertices[index]["moveTo"]); - renderContext.breakShape = false; - index++; - } else if (this.vertexCodes[i] === PConstants.BEZIER_VERTEX) { - renderContext.bezierVertex(this.vertices[index+0][0], - this.vertices[index+0][1], - this.vertices[index+1][0], - this.vertices[index+1][1], - this.vertices[index+2][0], - this.vertices[index+2][1]); - index += 3; - } else if (this.vertexCodes[i] === PConstants.CURVE_VERTEX) { - renderContext.curveVertex(this.vertices[index][0], - this.vertices[index][1]); - index++; - } else if (this.vertexCodes[i] === PConstants.BREAK) { - renderContext.breakShape = true; + } + if (str !== "") { + tmpArray.push(parseFloat(str)); + str = ""; + } + command = pathData[j]; + valOf = command.charCodeAt(0); + if (valOf === 77) { // M - move to (absolute) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + cx = tmpArray[0]; + cy = tmpArray[1]; + this.parsePathMoveto(cx, cy); + if (tmpArray.length > 2) { + for (j = 2, k = tmpArray.length; j < k; j+=2) { + // absolute line to + cx = tmpArray[j]; + cy = tmpArray[j+1]; + this.parsePathLineto(cx,cy); } } - } else { // drawing a 3D path - for (i = 0, j = this.vertexCodes.length; i < j; i++) { - if (this.vertexCodes[i] === PConstants.VERTEX) { - renderContext.vertex(this.vertices[index][0], - this.vertices[index][1], - this.vertices[index][2]); - if (this.vertices[index]["moveTo"] === true) { - vertArray[vertArray.length-1]["moveTo"] = true; - } else if (this.vertices[index]["moveTo"] === false) { - vertArray[vertArray.length-1]["moveTo"] = false; - } - renderContext.breakShape = false; - } else if (this.vertexCodes[i] === PConstants.BEZIER_VERTEX) { - renderContext.bezierVertex(this.vertices[index+0][0], - this.vertices[index+0][1], - this.vertices[index+0][2], - this.vertices[index+1][0], - this.vertices[index+1][1], - this.vertices[index+1][2], - this.vertices[index+2][0], - this.vertices[index+2][1], - this.vertices[index+2][2]); - index += 3; - } else if (this.vertexCodes[i] === PConstants.CURVE_VERTEX) { - renderContext.curveVertex(this.vertices[index][0], - this.vertices[index][1], - this.vertices[index][2]); - index++; - } else if (this.vertexCodes[i] === PConstants.BREAK) { - renderContext.breakShape = true; + } + } else if (valOf === 109) { // m - move to (relative) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + cx += tmpArray[0]; + cy += tmpArray[1]; + this.parsePathMoveto(cx,cy); + if (tmpArray.length > 2) { + for (j = 2, k = tmpArray.length; j < k; j+=2) { + // relative line to + cx += tmpArray[j]; + cy += tmpArray[j + 1]; + this.parsePathLineto(cx,cy); } } } - } - renderContext.endShape(this.close ? PConstants.CLOSE : PConstants.OPEN); - }, - /** - * @member PShape - * The drawGeometry() function draws the geometry part of the SVG document. - */ - drawGeometry: function(renderContext) { - var i, j; - renderContext.beginShape(this.kind); - if (this.style) { - for (i = 0, j = this.vertices.length; i < j; i++) { - renderContext.vertex(this.vertices[i]); + } else if (valOf === 76) { // L - lineto (absolute) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=2) { + cx = tmpArray[j]; + cy = tmpArray[j + 1]; + this.parsePathLineto(cx,cy); + } } - } else { - for (i = 0, j = this.vertices.length; i < j; i++) { - var vert = this.vertices[i]; - if (vert[2] === 0) { - renderContext.vertex(vert[0], vert[1]); - } else { - renderContext.vertex(vert[0], vert[1], vert[2]); + } else if (valOf === 108) { // l - lineto (relative) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=2) { + cx += tmpArray[j]; + cy += tmpArray[j+1]; + this.parsePathLineto(cx,cy); } } - } - renderContext.endShape(); - }, - /** - * @member PShape - * The drawGroup() function draws the part of the SVG document. - */ - drawGroup: function(renderContext) { - for (var i = 0, j = this.children.length; i < j; i++) { - this.children[i].draw(renderContext); - } - }, - /** - * @member PShape - * The drawPrimitive() function draws SVG document shape elements. These can be point, line, triangle, quad, rect, ellipse, arc, box, or sphere. - */ - drawPrimitive: function(renderContext) { - if (this.kind === PConstants.POINT) { - renderContext.point(this.params[0], this.params[1]); - } else if (this.kind === PConstants.LINE) { - if (this.params.length === 4) { // 2D - renderContext.line(this.params[0], this.params[1], - this.params[2], this.params[3]); - } else { // 3D - renderContext.line(this.params[0], this.params[1], this.params[2], - this.params[3], this.params[4], this.params[5]); + } else if (valOf === 72) { // H - horizontal lineto (absolute) + for (j = 0, k = tmpArray.length; j < k; j++) { + // multiple x co-ordinates can be provided + cx = tmpArray[j]; + this.parsePathLineto(cx, cy); } - } else if (this.kind === PConstants.TRIANGLE) { - renderContext.triangle(this.params[0], this.params[1], - this.params[2], this.params[3], - this.params[4], this.params[5]); - } else if (this.kind === PConstants.QUAD) { - renderContext.quad(this.params[0], this.params[1], - this.params[2], this.params[3], - this.params[4], this.params[5], - this.params[6], this.params[7]); - } else if (this.kind === PConstants.RECT) { - if (this.image !== null) { - var imMode = imageModeConvert; - renderContext.imageMode(PConstants.CORNER); - renderContext.image(this.image, - this.params[0], - this.params[1], - this.params[2], - this.params[3]); - imageModeConvert = imMode; - } else { - var rcMode = curRectMode; - renderContext.rectMode(PConstants.CORNER); - renderContext.rect(this.params[0], - this.params[1], - this.params[2], - this.params[3]); - curRectMode = rcMode; + } else if (valOf === 104) { // h - horizontal lineto (relative) + for (j = 0, k = tmpArray.length; j < k; j++) { + // multiple x co-ordinates can be provided + cx += tmpArray[j]; + this.parsePathLineto(cx, cy); } - } else if (this.kind === PConstants.ELLIPSE) { - var elMode = curEllipseMode; - renderContext.ellipseMode(PConstants.CORNER); - renderContext.ellipse(this.params[0], - this.params[1], - this.params[2], - this.params[3]); - curEllipseMode = elMode; - } else if (this.kind === PConstants.ARC) { - var eMode = curEllipseMode; - renderContext.ellipseMode(PConstants.CORNER); - renderContext.arc(this.params[0], - this.params[1], - this.params[2], - this.params[3], - this.params[4], - this.params[5]); - curEllipseMode = eMode; - } else if (this.kind === PConstants.BOX) { - if (this.params.length === 1) { - renderContext.box(this.params[0]); - } else { - renderContext.box(this.params[0], this.params[1], this.params[2]); + } else if (valOf === 86) { // V - vertical lineto (absolute) + for (j = 0, k = tmpArray.length; j < k; j++) { + // multiple y co-ordinates can be provided + cy = tmpArray[j]; + this.parsePathLineto(cx, cy); } - } else if (this.kind === PConstants.SPHERE) { - renderContext.sphere(this.params[0]); - } - }, - /** - * @member PShape - * The pre() function performs the preparations before the SVG is drawn. This includes doing transformations and storing previous styles. - */ - pre: function(renderContext) { - if (this.matrix) { - renderContext.pushMatrix(); - renderContext.transform(this.matrix); - } - if (this.style) { - renderContext.pushStyle(); - this.styles(renderContext); - } - }, - /** - * @member PShape - * The post() function performs the necessary actions after the SVG is drawn. This includes removing transformations and removing added styles. - */ - post: function(renderContext) { - if (this.matrix) { - renderContext.popMatrix(); - } - if (this.style) { - renderContext.popStyle(); - } - }, - /** - * @member PShape - * The styles() function changes the Processing's current styles - */ - styles: function(renderContext) { - if (this.stroke) { - renderContext.stroke(this.strokeColor); - renderContext.strokeWeight(this.strokeWeight); - renderContext.strokeCap(this.strokeCap); - renderContext.strokeJoin(this.strokeJoin); - } else { - renderContext.noStroke(); - } - - if (this.fill) { - renderContext.fill(this.fillColor); - - } else { - renderContext.noFill(); - } - }, - /** - * @member PShape - * The getChild() function extracts a child shape from a parent shape. Specify the name of the shape with the target parameter or the - * layer position of the shape to get with the index parameter. - * The shape is returned as a PShape object, or null is returned if there is an error. - * - * @param {String} target the name of the shape to get - * @param {int} index the layer position of the shape to get - * - * @return {PShape} returns a child element of a shape as a PShape object or null if there is an error - */ - getChild: function(child) { - var i, j; - if (typeof child === 'number') { - return this.children[child]; - } - var found; - if(child === "" || this.name === child){ - return this; - } - if(this.nameTable.length > 0) { - for(i = 0, j = this.nameTable.length; i < j || found; i++) { - if(this.nameTable[i].getName === child) { - found = this.nameTable[i]; - break; + } else if (valOf === 118) { // v - vertical lineto (relative) + for (j = 0, k = tmpArray.length; j < k; j++) { + // multiple y co-ordinates can be provided + cy += tmpArray[j]; + this.parsePathLineto(cx, cy); + } + } else if (valOf === 67) { // C - curve to (absolute) + if (tmpArray.length >= 6 && tmpArray.length % 6 === 0) { + // need one+ multiples of 6 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=6) { + ctrlX1 = tmpArray[j]; + ctrlY1 = tmpArray[j + 1]; + ctrlX2 = tmpArray[j + 2]; + ctrlY2 = tmpArray[j + 3]; + endX = tmpArray[j + 4]; + endY = tmpArray[j + 5]; + this.parsePathCurveto(ctrlX1, + ctrlY1, + ctrlX2, + ctrlY2, + endX, + endY); + cx = endX; + cy = endY; } } - if (found) { return found; } - } - for(i = 0, j = this.children.length; i < j; i++) { - found = this.children[i].getChild(child); - if(found) { return found; } - } - return null; - }, - /** - * @member PShape - * The getChildCount() returns the number of children - * - * @return {int} returns a count of children - */ - getChildCount: function () { - return this.children.length; - }, - /** - * @member PShape - * The addChild() adds a child to the PShape. - * - * @param {PShape} child the child to add - */ - addChild: function( child ) { - this.children.push(child); - child.parent = this; - if (child.getName() !== null) { - this.addName(child.getName(), child); - } - }, - /** - * @member PShape - * The addName() functions adds a shape to the name lookup table. - * - * @param {String} name the name to be added - * @param {PShape} shape the shape - */ - addName: function(name, shape) { - if (this.parent !== null) { - this.parent.addName( name, shape ); - } else { - this.nameTable.push( [name, shape] ); - } - }, - /** - * @member PShape - * The translate() function specifies an amount to displace the shape. The x parameter specifies left/right translation, the y parameter specifies up/down translation, and the z parameter specifies translations toward/away from the screen. - * Subsequent calls to the method accumulates the effect. For example, calling translate(50, 0) and then translate(20, 0) is the same as translate(70, 0). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - *

    Using this method with the z parameter requires using the P3D or OPENGL parameter in combination with size. - * - * @param {int|float} x left/right translation - * @param {int|float} y up/down translation - * @param {int|float} z forward/back translation - * - * @see PMatrix2D#translate - * @see PMatrix3D#translate - */ - translate: function() { - if(arguments.length === 2) - { - this.checkMatrix(2); - this.matrix.translate(arguments[0], arguments[1]); - } else { - this.checkMatrix(3); - this.matrix.translate(arguments[0], arguments[1], 0); - } - }, - /** - * @member PShape - * The checkMatrix() function makes sure that the shape's matrix is 1) not null, and 2) has a matrix - * that can handle at least the specified number of dimensions. - * - * @param {int} dimensions the specified number of dimensions - */ - checkMatrix: function(dimensions) { - if(this.matrix === null) { - if(dimensions === 2) { - this.matrix = new p.PMatrix2D(); - } else { - this.matrix = new p.PMatrix3D(); - } - }else if(dimensions === 3 && this.matrix instanceof p.PMatrix2D) { - this.matrix = new p.PMatrix3D(); - } - }, - /** - * @member PShape - * The rotateX() function rotates a shape around the x-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. - *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. - * Subsequent calls to the method accumulates the effect. For example, calling rotateX(HALF_PI) and then rotateX(HALF_PI) is the same as rotateX(PI). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. - * - * @param {float}angle angle of rotation specified in radians - * - * @see PMatrix3D#rotateX - */ - rotateX: function(angle) { - this.rotate(angle, 1, 0, 0); - }, - /** - * @member PShape - * The rotateY() function rotates a shape around the y-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. - *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. - * Subsequent calls to the method accumulates the effect. For example, calling rotateY(HALF_PI) and then rotateY(HALF_PI) is the same as rotateY(PI). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. - * - * @param {float}angle angle of rotation specified in radians - * - * @see PMatrix3D#rotateY - */ - rotateY: function(angle) { - this.rotate(angle, 0, 1, 0); - }, - /** - * @member PShape - * The rotateZ() function rotates a shape around the z-axis the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. - *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. - * Subsequent calls to the method accumulates the effect. For example, calling rotateZ(HALF_PI) and then rotateZ(HALF_PI) is the same as rotateZ(PI). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - *

    This method requires a 3D renderer. You need to pass P3D or OPENGL as a third parameter into the size() method as shown in the example above. - * - * @param {float}angle angle of rotation specified in radians - * - * @see PMatrix3D#rotateZ - */ - rotateZ: function(angle) { - this.rotate(angle, 0, 0, 1); - }, - /** - * @member PShape - * The rotate() function rotates a shape the amount specified by the angle parameter. Angles should be specified in radians (values from 0 to TWO_PI) or converted to radians with the radians() method. - *

    Shapes are always rotated around the upper-left corner of their bounding box. Positive numbers rotate objects in a clockwise direction. - * Transformations apply to everything that happens after and subsequent calls to the method accumulates the effect. - * For example, calling rotate(HALF_PI) and then rotate(HALF_PI) is the same as rotate(PI). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - * If optional parameters x,y,z are supplied, the rotate is about the point (x, y, z). - * - * @param {float}angle angle of rotation specified in radians - * @param {float}x x-coordinate of the point - * @param {float}y y-coordinate of the point - * @param {float}z z-coordinate of the point - * @see PMatrix2D#rotate - * @see PMatrix3D#rotate - */ - rotate: function() { - if(arguments.length === 1){ - this.checkMatrix(2); - this.matrix.rotate(arguments[0]); - } else { - this.checkMatrix(3); - this.matrix.rotate(arguments[0], - arguments[1], - arguments[2], - arguments[3]); - } - }, - /** - * @member PShape - * The scale() function increases or decreases the size of a shape by expanding and contracting vertices. Shapes always scale from the relative origin of their bounding box. - * Scale values are specified as decimal percentages. For example, the method call scale(2.0) increases the dimension of a shape by 200%. - * Subsequent calls to the method multiply the effect. For example, calling scale(2.0) and then scale(1.5) is the same as scale(3.0). - * This transformation is applied directly to the shape, it's not refreshed each time draw() is run. - *

    Using this fuction with the z parameter requires passing P3D or OPENGL into the size() parameter. - * - * @param {float}s percentage to scale the object - * @param {float}x percentage to scale the object in the x-axis - * @param {float}y percentage to scale the object in the y-axis - * @param {float}z percentage to scale the object in the z-axis - * - * @see PMatrix2D#scale - * @see PMatrix3D#scale - */ - scale: function() { - if(arguments.length === 2) { - this.checkMatrix(2); - this.matrix.scale(arguments[0], arguments[1]); - } else if (arguments.length === 3) { - this.checkMatrix(2); - this.matrix.scale(arguments[0], arguments[1], arguments[2]); - } else { - this.checkMatrix(2); - this.matrix.scale(arguments[0]); - } - }, - /** - * @member PShape - * The resetMatrix() function resets the matrix - * - * @see PMatrix2D#reset - * @see PMatrix3D#reset - */ - resetMatrix: function() { - this.checkMatrix(2); - this.matrix.reset(); - }, - /** - * @member PShape - * The applyMatrix() function multiplies this matrix by another matrix of type PMatrix3D or PMatrix2D. - * Individual elements can also be provided - * - * @param {PMatrix3D|PMatrix2D} matrix the matrix to multiply by - * - * @see PMatrix2D#apply - * @see PMatrix3D#apply - */ - applyMatrix: function(matrix) { - if (arguments.length === 1) { - this.applyMatrix(matrix.elements[0], - matrix.elements[1], 0, - matrix.elements[2], - matrix.elements[3], - matrix.elements[4], 0, - matrix.elements[5], - 0, 0, 1, 0, - 0, 0, 0, 1); - } else if (arguments.length === 6) { - this.checkMatrix(2); - this.matrix.apply(arguments[0], arguments[1], arguments[2], 0, - arguments[3], arguments[4], arguments[5], 0, - 0, 0, 1, 0, - 0, 0, 0, 1); - - } else if (arguments.length === 16) { - this.checkMatrix(3); - this.matrix.apply(arguments[0], - arguments[1], - arguments[2], - arguments[3], - arguments[4], - arguments[5], - arguments[6], - arguments[7], - arguments[8], - arguments[9], - arguments[10], - arguments[11], - arguments[12], - arguments[13], - arguments[14], - arguments[15]); - } - } - }; - - /** - * SVG stands for Scalable Vector Graphics, a portable graphics format. It is - * a vector format so it allows for infinite resolution and relatively small - * file sizes. Most modern media software can view SVG files, including Adobe - * products, Firefox, etc. Illustrator and Inkscape can edit SVG files. - * - * @param {PApplet} parent typically use "this" - * @param {String} filename name of the SVG file to load - * @param {XMLElement} xml an XMLElement element - * @param {PShapeSVG} parent the parent PShapeSVG - * - * @see PShape - */ - var PShapeSVG = p.PShapeSVG = function() { - p.PShape.call( this ); // PShape is the base class. - if (arguments.length === 1) { //xml element coming in - this.element = arguments[0] ;//new p.XMLElement(null, arguments[0]); - // set values to their defaults according to the SVG spec - this.vertexCodes = []; - this.vertices = []; - this.opacity = 1; - - this.stroke = false; - this.strokeColor = PConstants.ALPHA_MASK; - this.strokeWeight = 1; - this.strokeCap = PConstants.SQUARE; // BUTT in svg spec - this.strokeJoin = PConstants.MITER; - this.strokeGradient = null; - this.strokeGradientPaint = null; - this.strokeName = null; - this.strokeOpacity = 1; - - this.fill = true; - this.fillColor = PConstants.ALPHA_MASK; - this.fillGradient = null; - this.fillGradientPaint = null; - this.fillName = null; - this.fillOpacity = 1; - - if (this.element.getName() !== "svg") { - throw("root is not , it's <" + this.element.getName() + ">"); - } - } - else if (arguments.length === 2) { - if (typeof arguments[1] === 'string') { - if (arguments[1].indexOf(".svg") > -1) { //its a filename - this.element = new p.XMLElement(p, arguments[1]); - // set values to their defaults according to the SVG spec - this.vertexCodes = []; - this.vertices = []; - this.opacity = 1; - - this.stroke = false; - this.strokeColor = PConstants.ALPHA_MASK; - this.strokeWeight = 1; - this.strokeCap = PConstants.SQUARE; // BUTT in svg spec - this.strokeJoin = PConstants.MITER; - this.strokeGradient = ""; - this.strokeGradientPaint = ""; - this.strokeName = ""; - this.strokeOpacity = 1; - - this.fill = true; - this.fillColor = PConstants.ALPHA_MASK; - this.fillGradient = null; - this.fillGradientPaint = null; - this.fillOpacity = 1; - - } - } else { // XMLElement - if (arguments[0]) { // PShapeSVG - this.element = arguments[1]; - this.vertexCodes = arguments[0].vertexCodes.slice(); - this.vertices = arguments[0].vertices.slice(); - - this.stroke = arguments[0].stroke; - this.strokeColor = arguments[0].strokeColor; - this.strokeWeight = arguments[0].strokeWeight; - this.strokeCap = arguments[0].strokeCap; - this.strokeJoin = arguments[0].strokeJoin; - this.strokeGradient = arguments[0].strokeGradient; - this.strokeGradientPaint = arguments[0].strokeGradientPaint; - this.strokeName = arguments[0].strokeName; - - this.fill = arguments[0].fill; - this.fillColor = arguments[0].fillColor; - this.fillGradient = arguments[0].fillGradient; - this.fillGradientPaint = arguments[0].fillGradientPaint; - this.fillName = arguments[0].fillName; - this.strokeOpacity = arguments[0].strokeOpacity; - this.fillOpacity = arguments[0].fillOpacity; - this.opacity = arguments[0].opacity; - } - } - } - - this.name = this.element.getStringAttribute("id"); - var displayStr = this.element.getStringAttribute("display", "inline"); - this.visible = displayStr !== "none"; - var str = this.element.getAttribute("transform"); - if (str) { - this.matrix = this.parseMatrix(str); - } - // not proper parsing of the viewBox, but will cover us for cases where - // the width and height of the object is not specified - var viewBoxStr = this.element.getStringAttribute("viewBox"); - if ( viewBoxStr !== null ) { - var viewBox = viewBoxStr.split(" "); - this.width = viewBox[2]; - this.height = viewBox[3]; - } - - // TODO if viewbox is not same as width/height, then use it to scale - // the original objects. for now, viewbox only used when width/height - // are empty values (which by the spec means w/h of "100%" - var unitWidth = this.element.getStringAttribute("width"); - var unitHeight = this.element.getStringAttribute("height"); - if (unitWidth !== null) { - this.width = this.parseUnitSize(unitWidth); - this.height = this.parseUnitSize(unitHeight); - } else { - if ((this.width === 0) || (this.height === 0)) { - // For the spec, the default is 100% and 100%. For purposes - // here, insert a dummy value because this is prolly just a - // font or something for which the w/h doesn't matter. - this.width = 1; - this.height = 1; - - //show warning - throw("The width and/or height is not " + - "readable in the tag of this file."); - } - } - this.parseColors(this.element); - this.parseChildren(this.element); - - }; - /** - * PShapeSVG methods - * missing: getChild(), print(), parseStyleAttributes(), styles() - deals with strokeGradient and fillGradient - */ - PShapeSVG.prototype = new PShape(); - /** - * @member PShapeSVG - * The parseMatrix() function parses the specified SVG matrix into a PMatrix2D. Note that PMatrix2D - * is rotated relative to the SVG definition, so parameters are rearranged - * here. More about the transformation matrices in - * this section - * of the SVG documentation. - * - * @param {String} str text of the matrix param. - * - * @return {PMatrix2D} a PMatrix2D - */ - PShapeSVG.prototype.parseMatrix = (function() { - function getCoords(s) { - var m = []; - s.replace(/\((.*?)\)/, (function() { - return function(all, params) { - // get the coordinates that can be separated by spaces or a comma - m = params.replace(/,+/g, " ").split(/\s+/); - }; - }())); - return m; - } - - return function(str) { - this.checkMatrix(2); - var pieces = []; - str.replace(/\s*(\w+)\((.*?)\)/g, function(all) { - // get a list of transform definitions - pieces.push(p.trim(all)); - }); - if (pieces.length === 0) { - return null; - } - - for (var i = 0, j = pieces.length; i < j; i++) { - var m = getCoords(pieces[i]); - - if (pieces[i].indexOf("matrix") !== -1) { - this.matrix.set(m[0], m[2], m[4], m[1], m[3], m[5]); - } else if (pieces[i].indexOf("translate") !== -1) { - var tx = m[0]; - var ty = (m.length === 2) ? m[1] : 0; - this.matrix.translate(tx,ty); - } else if (pieces[i].indexOf("scale") !== -1) { - var sx = m[0]; - var sy = (m.length === 2) ? m[1] : m[0]; - this.matrix.scale(sx,sy); - } else if (pieces[i].indexOf("rotate") !== -1) { - var angle = m[0]; - if (m.length === 1) { - this.matrix.rotate(p.radians(angle)); - } else if (m.length === 3) { - this.matrix.translate(m[1], m[2]); - this.matrix.rotate(p.radians(m[0])); - this.matrix.translate(-m[1], -m[2]); + } else if (valOf === 99) { // c - curve to (relative) + if (tmpArray.length >= 6 && tmpArray.length % 6 === 0) { + // need one+ multiples of 6 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=6) { + ctrlX1 = cx + tmpArray[j]; + ctrlY1 = cy + tmpArray[j + 1]; + ctrlX2 = cx + tmpArray[j + 2]; + ctrlY2 = cy + tmpArray[j + 3]; + endX = cx + tmpArray[j + 4]; + endY = cy + tmpArray[j + 5]; + this.parsePathCurveto(ctrlX1, + ctrlY1, + ctrlX2, + ctrlY2, + endX, + endY); + cx = endX; + cy = endY; } - } else if (pieces[i].indexOf("skewX") !== -1) { - this.matrix.skewX(parseFloat(m[0])); - } else if (pieces[i].indexOf("skewY") !== -1) { - this.matrix.skewY(m[0]); - } else if (pieces[i].indexOf("shearX") !== -1) { - this.matrix.shearX(m[0]); - } else if (pieces[i].indexOf("shearY") !== -1) { - this.matrix.shearY(m[0]); } - } - return this.matrix; - }; - }()); - - /** - * @member PShapeSVG - * The parseChildren() function parses the specified XMLElement - * - * @param {XMLElement}element the XMLElement to parse - */ - PShapeSVG.prototype.parseChildren = function(element) { - var newelement = element.getChildren(); - var base = new p.PShape(); - var i, j; - for (i = 0, j = newelement.length; i < j; i++) { - var kid = this.parseChild(newelement[i]); - if (kid) { - base.addChild(kid); - } - } - for (i = 0, j = base.children.length; i < j; i++) { - this.children.push(base.children[i]); - } - }; - /** - * @member PShapeSVG - * The getName() function returns the name - * - * @return {String} the name - */ - PShapeSVG.prototype.getName = function() { - return this.name; - }; - /** - * @member PShapeSVG - * The parseChild() function parses a child XML element. - * - * @param {XMLElement} elem the element to parse - * - * @return {PShape} the newly created PShape - */ - PShapeSVG.prototype.parseChild = function( elem ) { - var name = elem.getName(); - var shape; - if (name === "g") { - shape = new PShapeSVG(this, elem); - } else if (name === "defs") { - // generally this will contain gradient info, so may - // as well just throw it into a group element for parsing - shape = new PShapeSVG(this, elem); - } else if (name === "line") { - shape = new PShapeSVG(this, elem); - shape.parseLine(); - } else if (name === "circle") { - shape = new PShapeSVG(this, elem); - shape.parseEllipse(true); - } else if (name === "ellipse") { - shape = new PShapeSVG(this, elem); - shape.parseEllipse(false); - } else if (name === "rect") { - shape = new PShapeSVG(this, elem); - shape.parseRect(); - } else if (name === "polygon") { - shape = new PShapeSVG(this, elem); - shape.parsePoly(true); - } else if (name === "polyline") { - shape = new PShapeSVG(this, elem); - shape.parsePoly(false); - } else if (name === "path") { - shape = new PShapeSVG(this, elem); - shape.parsePath(); - } else if (name === "radialGradient") { - //return new RadialGradient(this, elem); - unimplemented('PShapeSVG.prototype.parseChild, name = radialGradient'); - } else if (name === "linearGradient") { - //return new LinearGradient(this, elem); - unimplemented('PShapeSVG.prototype.parseChild, name = linearGradient'); - } else if (name === "text") { - unimplemented('PShapeSVG.prototype.parseChild, name = text'); - } else if (name === "filter") { - unimplemented('PShapeSVG.prototype.parseChild, name = filter'); - } else if (name === "mask") { - unimplemented('PShapeSVG.prototype.parseChild, name = mask'); - } else { - // ignoring - nop(); - } - return shape; - }; - /** - * @member PShapeSVG - * The parsePath() function parses the element of the svg file - * A path is defined by including a path element which contains a d="(path data)" attribute, where the d attribute contains - * the moveto, line, curve (both cubic and quadratic Beziers), arc and closepath instructions. - **/ - PShapeSVG.prototype.parsePath = function() { - this.family = PConstants.PATH; - this.kind = 0; - var pathDataChars = []; - var c; - //change multiple spaces and commas to single space - var pathData = p.trim(this.element.getStringAttribute("d") - .replace(/[\s,]+/g,' ')); - if (pathData === null) { - return; - } - pathData = p.__toCharArray(pathData); - var cx = 0, - cy = 0, - ctrlX = 0, - ctrlY = 0, - ctrlX1 = 0, - ctrlX2 = 0, - ctrlY1 = 0, - ctrlY2 = 0, - endX = 0, - endY = 0, - ppx = 0, - ppy = 0, - px = 0, - py = 0, - i = 0, - valOf = 0; - var str = ""; - var tmpArray =[]; - var flag = false; - var lastInstruction; - var command; - var j, k; - while (i< pathData.length) { - valOf = pathData[i].valueOf(); - if ((valOf >= 65 && valOf <= 90) || (valOf >= 97 && valOf <= 122)) { - // if it's a letter - // populate the tmpArray with coordinates - j = i; - i++; - if (i < pathData.length) { // don't go over boundary of array - tmpArray = []; - valOf = pathData[i].valueOf(); - while (!((valOf >= 65 && valOf <= 90) || - (valOf >= 97 && valOf <= 100) || - (valOf >= 102 && valOf <= 122)) - && flag === false) { // if its NOT a letter - if (valOf === 32) { //if its a space and the str isn't empty - // sometimes you get a space after the letter - if (str !== "") { - tmpArray.push(parseFloat(str)); - str = ""; - } - i++; - } else if (valOf === 45) { //if it's a - - // allow for 'e' notation in numbers, e.g. 2.10e-9 - if (pathData[i-1].valueOf() === 101) { - str += pathData[i].toString(); - i++; - } else { - // sometimes no space separator after (ex: 104.535-16.322) - if (str !== "") { - tmpArray.push(parseFloat(str)); - } - str = pathData[i].toString(); - i++; - } - } else { - str += pathData[i].toString(); - i++; - } - if (i === pathData.length) { // don't go over boundary of array - flag = true; + } else if (valOf === 83) { // S - curve to shorthand (absolute) + if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { + // need one+ multiples of 4 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=4) { + if (lastInstruction.toLowerCase() === "c" || + lastInstruction.toLowerCase() === "s") { + ppx = this.vertices[ this.vertices.length-2 ][0]; + ppy = this.vertices[ this.vertices.length-2 ][1]; + px = this.vertices[ this.vertices.length-1 ][0]; + py = this.vertices[ this.vertices.length-1 ][1]; + ctrlX1 = px + (px - ppx); + ctrlY1 = py + (py - ppy); } else { - valOf = pathData[i].valueOf(); + //If there is no previous curve, + //the current point will be used as the first control point. + ctrlX1 = this.vertices[this.vertices.length-1][0]; + ctrlY1 = this.vertices[this.vertices.length-1][1]; } + ctrlX2 = tmpArray[j]; + ctrlY2 = tmpArray[j + 1]; + endX = tmpArray[j + 2]; + endY = tmpArray[j + 3]; + this.parsePathCurveto(ctrlX1, + ctrlY1, + ctrlX2, + ctrlY2, + endX, + endY); + cx = endX; + cy = endY; } } - if (str !== "") { - tmpArray.push(parseFloat(str)); - str = ""; - } - command = pathData[j]; - valOf = command.valueOf(); - if (valOf === 77) { // M - move to (absolute) - if (tmpArray.length >= 2 && tmpArray.length % 2 ===0) { - // need one+ pairs of co-ordinates - cx = tmpArray[0]; - cy = tmpArray[1]; - this.parsePathMoveto(cx, cy); - if (tmpArray.length > 2) { - for (j = 2, k = tmpArray.length; j < k; j+=2) { - // absolute line to - cx = tmpArray[j]; - cy = tmpArray[j+1]; - this.parsePathLineto(cx,cy); - } - } - } - } else if (valOf === 109) { // m - move to (relative) - if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { - // need one+ pairs of co-ordinates - cx += tmpArray[0]; - cy += tmpArray[1]; - this.parsePathMoveto(cx,cy); - if (tmpArray.length > 2) { - for (j = 2, k = tmpArray.length; j < k; j+=2) { - // relative line to - cx += tmpArray[j]; - cy += tmpArray[j + 1]; - this.parsePathLineto(cx,cy); - } - } - } - } else if (valOf === 76) { // L - lineto (absolute) - if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { - // need one+ pairs of co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=2) { - cx = tmpArray[j]; - cy = tmpArray[j + 1]; - this.parsePathLineto(cx,cy); - } - } - } else if (valOf === 108) { // l - lineto (relative) - if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { - // need one+ pairs of co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=2) { - cx += tmpArray[j]; - cy += tmpArray[j+1]; - this.parsePathLineto(cx,cy); - } - } - } else if (valOf === 72) { // H - horizontal lineto (absolute) - for (j = 0, k = tmpArray.length; j < k; j++) { - // multiple x co-ordinates can be provided - cx = tmpArray[j]; - this.parsePathLineto(cx, cy); - } - } else if (valOf === 104) { // h - horizontal lineto (relative) - for (j = 0, k = tmpArray.length; j < k; j++) { - // multiple x co-ordinates can be provided - cx += tmpArray[j]; - this.parsePathLineto(cx, cy); - } - } else if (valOf === 86) { // V - vertical lineto (absolute) - for (j = 0, k = tmpArray.length; j < k; j++) { - // multiple y co-ordinates can be provided - cy = tmpArray[j]; - this.parsePathLineto(cx, cy); - } - } else if (valOf === 118) { // v - vertical lineto (relative) - for (j = 0, k = tmpArray.length; j < k; j++) { - // multiple y co-ordinates can be provided - cy += tmpArray[j]; - this.parsePathLineto(cx, cy); - } - } else if (valOf === 67) { // C - curve to (absolute) - if (tmpArray.length >= 6 && tmpArray.length % 6 === 0) { - // need one+ multiples of 6 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=6) { - ctrlX1 = tmpArray[j]; - ctrlY1 = tmpArray[j + 1]; - ctrlX2 = tmpArray[j + 2]; - ctrlY2 = tmpArray[j + 3]; - endX = tmpArray[j + 4]; - endY = tmpArray[j + 5]; - this.parsePathCurveto(ctrlX1, - ctrlY1, - ctrlX2, - ctrlY2, - endX, - endY); - cx = endX; - cy = endY; - } - } - } else if (valOf === 99) { // c - curve to (relative) - if (tmpArray.length >= 6 && tmpArray.length % 6 === 0) { - // need one+ multiples of 6 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=6) { - ctrlX1 = cx + tmpArray[j]; - ctrlY1 = cy + tmpArray[j + 1]; - ctrlX2 = cx + tmpArray[j + 2]; - ctrlY2 = cy + tmpArray[j + 3]; - endX = cx + tmpArray[j + 4]; - endY = cy + tmpArray[j + 5]; - this.parsePathCurveto(ctrlX1, - ctrlY1, - ctrlX2, - ctrlY2, - endX, - endY); - cx = endX; - cy = endY; - } - } - } else if (valOf === 83) { // S - curve to shorthand (absolute) - if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { - // need one+ multiples of 4 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=4) { - if (lastInstruction.toLowerCase() === "c" || - lastInstruction.toLowerCase() === "s") { - ppx = this.vertices[ this.vertices.length-2 ][0]; - ppy = this.vertices[ this.vertices.length-2 ][1]; - px = this.vertices[ this.vertices.length-1 ][0]; - py = this.vertices[ this.vertices.length-1 ][1]; - ctrlX1 = px + (px - ppx); - ctrlY1 = py + (py - ppy); - } else { - //If there is no previous curve, - //the current point will be used as the first control point. - ctrlX1 = this.vertices[this.vertices.length-1][0]; - ctrlY1 = this.vertices[this.vertices.length-1][1]; - } - ctrlX2 = tmpArray[j]; - ctrlY2 = tmpArray[j + 1]; - endX = tmpArray[j + 2]; - endY = tmpArray[j + 3]; - this.parsePathCurveto(ctrlX1, - ctrlY1, - ctrlX2, - ctrlY2, - endX, - endY); - cx = endX; - cy = endY; - } - } - } else if (valOf === 115) { // s - curve to shorthand (relative) - if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { - // need one+ multiples of 4 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=4) { - if (lastInstruction.toLowerCase() === "c" || - lastInstruction.toLowerCase() === "s") { - ppx = this.vertices[this.vertices.length-2][0]; - ppy = this.vertices[this.vertices.length-2][1]; - px = this.vertices[this.vertices.length-1][0]; - py = this.vertices[this.vertices.length-1][1]; - ctrlX1 = px + (px - ppx); - ctrlY1 = py + (py - ppy); - } else { - //If there is no previous curve, - //the current point will be used as the first control point. - ctrlX1 = this.vertices[this.vertices.length-1][0]; - ctrlY1 = this.vertices[this.vertices.length-1][1]; - } - ctrlX2 = cx + tmpArray[j]; - ctrlY2 = cy + tmpArray[j + 1]; - endX = cx + tmpArray[j + 2]; - endY = cy + tmpArray[j + 3]; - this.parsePathCurveto(ctrlX1, - ctrlY1, - ctrlX2, - ctrlY2, - endX, - endY); - cx = endX; - cy = endY; + } else if (valOf === 115) { // s - curve to shorthand (relative) + if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { + // need one+ multiples of 4 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=4) { + if (lastInstruction.toLowerCase() === "c" || + lastInstruction.toLowerCase() === "s") { + ppx = this.vertices[this.vertices.length-2][0]; + ppy = this.vertices[this.vertices.length-2][1]; + px = this.vertices[this.vertices.length-1][0]; + py = this.vertices[this.vertices.length-1][1]; + ctrlX1 = px + (px - ppx); + ctrlY1 = py + (py - ppy); + } else { + //If there is no previous curve, + //the current point will be used as the first control point. + ctrlX1 = this.vertices[this.vertices.length-1][0]; + ctrlY1 = this.vertices[this.vertices.length-1][1]; } + ctrlX2 = cx + tmpArray[j]; + ctrlY2 = cy + tmpArray[j + 1]; + endX = cx + tmpArray[j + 2]; + endY = cy + tmpArray[j + 3]; + this.parsePathCurveto(ctrlX1, + ctrlY1, + ctrlX2, + ctrlY2, + endX, + endY); + cx = endX; + cy = endY; } - } else if (valOf === 81) { // Q - quadratic curve to (absolute) - if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { - // need one+ multiples of 4 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=4) { - ctrlX = tmpArray[j]; - ctrlY = tmpArray[j + 1]; - endX = tmpArray[j + 2]; - endY = tmpArray[j + 3]; - this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); - cx = endX; - cy = endY; - } + } + } else if (valOf === 81) { // Q - quadratic curve to (absolute) + if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { + // need one+ multiples of 4 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=4) { + ctrlX = tmpArray[j]; + ctrlY = tmpArray[j + 1]; + endX = tmpArray[j + 2]; + endY = tmpArray[j + 3]; + this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); + cx = endX; + cy = endY; } - } else if (valOf === 113) { // q - quadratic curve to (relative) - if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { - // need one+ multiples of 4 co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=4) { - ctrlX = cx + tmpArray[j]; - ctrlY = cy + tmpArray[j + 1]; - endX = cx + tmpArray[j + 2]; - endY = cy + tmpArray[j + 3]; - this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); - cx = endX; - cy = endY; - } + } + } else if (valOf === 113) { // q - quadratic curve to (relative) + if (tmpArray.length >= 4 && tmpArray.length % 4 === 0) { + // need one+ multiples of 4 co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=4) { + ctrlX = cx + tmpArray[j]; + ctrlY = cy + tmpArray[j + 1]; + endX = cx + tmpArray[j + 2]; + endY = cy + tmpArray[j + 3]; + this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); + cx = endX; + cy = endY; } - } else if (valOf === 84) { - // T - quadratic curve to shorthand (absolute) - if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { - // need one+ pairs of co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=2) { - if (lastInstruction.toLowerCase() === "q" || - lastInstruction.toLowerCase() === "t") { - ppx = this.vertices[this.vertices.length-2][0]; - ppy = this.vertices[this.vertices.length-2][1]; - px = this.vertices[this.vertices.length-1][0]; - py = this.vertices[this.vertices.length-1][1]; - ctrlX = px + (px - ppx); - ctrlY = py + (py - ppy); - } else { - // If there is no previous command or if the previous command - // was not a Q, q, T or t, assume the control point is - // coincident with the current point. - ctrlX = cx; - ctrlY = cy; - } - endX = tmpArray[j]; - endY = tmpArray[j + 1]; - this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); - cx = endX; - cy = endY; + } + } else if (valOf === 84) { + // T - quadratic curve to shorthand (absolute) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=2) { + if (lastInstruction.toLowerCase() === "q" || + lastInstruction.toLowerCase() === "t") { + ppx = this.vertices[this.vertices.length-2][0]; + ppy = this.vertices[this.vertices.length-2][1]; + px = this.vertices[this.vertices.length-1][0]; + py = this.vertices[this.vertices.length-1][1]; + ctrlX = px + (px - ppx); + ctrlY = py + (py - ppy); + } else { + // If there is no previous command or if the previous command + // was not a Q, q, T or t, assume the control point is + // coincident with the current point. + ctrlX = cx; + ctrlY = cy; } + endX = tmpArray[j]; + endY = tmpArray[j + 1]; + this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); + cx = endX; + cy = endY; } - } else if (valOf === 116) { - // t - quadratic curve to shorthand (relative) - if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { - // need one+ pairs of co-ordinates - for (j = 0, k = tmpArray.length; j < k; j+=2) { - if (lastInstruction.toLowerCase() === "q" || - lastInstruction.toLowerCase() === "t") { - ppx = this.vertices[this.vertices.length-2][0]; - ppy = this.vertices[this.vertices.length-2][1]; - px = this.vertices[this.vertices.length-1][0]; - py = this.vertices[this.vertices.length-1][1]; - ctrlX = px + (px - ppx); - ctrlY = py + (py - ppy); - } else { - // If there is no previous command or if the previous command - // was not a Q, q, T or t, assume the control point is - // coincident with the current point. - ctrlX = cx; - ctrlY = cy; - } - endX = cx + tmpArray[j]; - endY = cy + tmpArray[j + 1]; - this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); - cx = endX; - cy = endY; + } + } else if (valOf === 116) { + // t - quadratic curve to shorthand (relative) + if (tmpArray.length >= 2 && tmpArray.length % 2 === 0) { + // need one+ pairs of co-ordinates + for (j = 0, k = tmpArray.length; j < k; j+=2) { + if (lastInstruction.toLowerCase() === "q" || + lastInstruction.toLowerCase() === "t") { + ppx = this.vertices[this.vertices.length-2][0]; + ppy = this.vertices[this.vertices.length-2][1]; + px = this.vertices[this.vertices.length-1][0]; + py = this.vertices[this.vertices.length-1][1]; + ctrlX = px + (px - ppx); + ctrlY = py + (py - ppy); + } else { + // If there is no previous command or if the previous command + // was not a Q, q, T or t, assume the control point is + // coincident with the current point. + ctrlX = cx; + ctrlY = cy; } + endX = cx + tmpArray[j]; + endY = cy + tmpArray[j + 1]; + this.parsePathQuadto(cx, cy, ctrlX, ctrlY, endX, endY); + cx = endX; + cy = endY; } - } else if (valOf === 90 || valOf === 122) { // Z or z (these do the same thing) - this.close = true; } - lastInstruction = command.toString(); - } else { i++;} - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parsePath() helper function - * - * @see PShapeSVG#parsePath - */ - PShapeSVG.prototype.parsePathQuadto = function(x1, y1, cx, cy, x2, y2) { - if (this.vertices.length > 0) { - this.parsePathCode(PConstants.BEZIER_VERTEX); - // x1/y1 already covered by last moveto, lineto, or curveto - this.parsePathVertex(x1 + ((cx-x1)*2/3), y1 + ((cy-y1)*2/3)); - this.parsePathVertex(x2 + ((cx-x2)*2/3), y2 + ((cy-y2)*2/3)); - this.parsePathVertex(x2, y2); - } else { - throw ("Path must start with M/m"); - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parsePath() helper function - * - * @see PShapeSVG#parsePath - */ - PShapeSVG.prototype.parsePathCurveto = function(x1, y1, x2, y2, x3, y3) { - if (this.vertices.length > 0) { - this.parsePathCode(PConstants.BEZIER_VERTEX ); - this.parsePathVertex(x1, y1); - this.parsePathVertex(x2, y2); - this.parsePathVertex(x3, y3); - } else { - throw ("Path must start with M/m"); - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parsePath() helper function - * - * @see PShapeSVG#parsePath - */ - PShapeSVG.prototype.parsePathLineto = function(px, py) { - if (this.vertices.length > 0) { - this.parsePathCode(PConstants.VERTEX); - this.parsePathVertex(px, py); - // add property to distinguish between curContext.moveTo - // or curContext.lineTo - this.vertices[this.vertices.length-1]["moveTo"] = false; - } else { - throw ("Path must start with M/m"); - } - }; - - PShapeSVG.prototype.parsePathMoveto = function(px, py) { - if (this.vertices.length > 0) { - this.parsePathCode(PConstants.BREAK); - } + } else if (valOf === 90 || valOf === 122) { // Z or z (these do the same thing) + this.close = true; + } + lastInstruction = command.toString(); + } else { i++;} + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parsePath() helper function + * + * @see PShapeSVG#parsePath + */ + PShapeSVG.prototype.parsePathQuadto = function(x1, y1, cx, cy, x2, y2) { + if (this.vertices.length > 0) { + this.parsePathCode(PConstants.BEZIER_VERTEX); + // x1/y1 already covered by last moveto, lineto, or curveto + this.parsePathVertex(x1 + ((cx-x1)*2/3), y1 + ((cy-y1)*2/3)); + this.parsePathVertex(x2 + ((cx-x2)*2/3), y2 + ((cy-y2)*2/3)); + this.parsePathVertex(x2, y2); + } else { + throw ("Path must start with M/m"); + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parsePath() helper function + * + * @see PShapeSVG#parsePath + */ + PShapeSVG.prototype.parsePathCurveto = function(x1, y1, x2, y2, x3, y3) { + if (this.vertices.length > 0) { + this.parsePathCode(PConstants.BEZIER_VERTEX ); + this.parsePathVertex(x1, y1); + this.parsePathVertex(x2, y2); + this.parsePathVertex(x3, y3); + } else { + throw ("Path must start with M/m"); + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parsePath() helper function + * + * @see PShapeSVG#parsePath + */ + PShapeSVG.prototype.parsePathLineto = function(px, py) { + if (this.vertices.length > 0) { this.parsePathCode(PConstants.VERTEX); this.parsePathVertex(px, py); // add property to distinguish between curContext.moveTo // or curContext.lineTo - this.vertices[this.vertices.length-1]["moveTo"] = true; - }; - /** - * @member PShapeSVG - * PShapeSVG.parsePath() helper function - * - * @see PShapeSVG#parsePath - */ - PShapeSVG.prototype.parsePathVertex = function(x, y) { - var verts = []; - verts[0] = x; - verts[1] = y; - this.vertices.push(verts); - }; - /** - * @member PShapeSVG - * PShapeSVG.parsePath() helper function - * - * @see PShapeSVG#parsePath - */ - PShapeSVG.prototype.parsePathCode = function(what) { - this.vertexCodes.push(what); - }; - /** - * @member PShapeSVG - * The parsePoly() function parses a polyline or polygon from an SVG file. - * - * @param {boolean}val true if shape is closed (polygon), false if not (polyline) - */ - PShapeSVG.prototype.parsePoly = function(val) { - this.family = PConstants.PATH; - this.close = val; - var pointsAttr = p.trim(this.element.getStringAttribute("points") - .replace(/[,\s]+/g,' ')); - if (pointsAttr !== null) { - //split into array - var pointsBuffer = pointsAttr.split(" "); - if (pointsBuffer.length % 2 === 0) { - for (var i = 0, j = pointsBuffer.length; i < j; i++) { - var verts = []; - verts[0] = pointsBuffer[i]; - verts[1] = pointsBuffer[++i]; - this.vertices.push(verts); - } - } else { - throw("Error parsing polygon points: odd number of coordinates provided"); - } - } - }; - /** - * @member PShapeSVG - * The parseRect() function parses a rect from an SVG file. - */ - PShapeSVG.prototype.parseRect = function() { - this.kind = PConstants.RECT; - this.family = PConstants.PRIMITIVE; - this.params = []; - this.params[0] = this.element.getFloatAttribute("x"); - this.params[1] = this.element.getFloatAttribute("y"); - this.params[2] = this.element.getFloatAttribute("width"); - this.params[3] = this.element.getFloatAttribute("height"); - if (this.params[2] < 0 || this.params[3] < 0) { - throw("svg error: negative width or height found while parsing "); - } - }; - /** - * @member PShapeSVG - * The parseEllipse() function handles parsing ellipse and circle tags. - * - * @param {boolean}val true if this is a circle and not an ellipse - */ - PShapeSVG.prototype.parseEllipse = function(val) { - this.kind = PConstants.ELLIPSE; - this.family = PConstants.PRIMITIVE; - this.params = []; - - this.params[0] = this.element.getFloatAttribute("cx") | 0 ; - this.params[1] = this.element.getFloatAttribute("cy") | 0; + this.vertices[this.vertices.length-1].moveTo = false; + } else { + throw ("Path must start with M/m"); + } + }; - var rx, ry; - if (val) { - rx = ry = this.element.getFloatAttribute("r"); - if (rx < 0) { - throw("svg error: negative radius found while parsing "); + PShapeSVG.prototype.parsePathMoveto = function(px, py) { + if (this.vertices.length > 0) { + this.parsePathCode(PConstants.BREAK); + } + this.parsePathCode(PConstants.VERTEX); + this.parsePathVertex(px, py); + // add property to distinguish between curContext.moveTo + // or curContext.lineTo + this.vertices[this.vertices.length-1].moveTo = true; + }; + /** + * @member PShapeSVG + * PShapeSVG.parsePath() helper function + * + * @see PShapeSVG#parsePath + */ + PShapeSVG.prototype.parsePathVertex = function(x, y) { + var verts = []; + verts[0] = x; + verts[1] = y; + this.vertices.push(verts); + }; + /** + * @member PShapeSVG + * PShapeSVG.parsePath() helper function + * + * @see PShapeSVG#parsePath + */ + PShapeSVG.prototype.parsePathCode = function(what) { + this.vertexCodes.push(what); + }; + /** + * @member PShapeSVG + * The parsePoly() function parses a polyline or polygon from an SVG file. + * + * @param {boolean}val true if shape is closed (polygon), false if not (polyline) + */ + PShapeSVG.prototype.parsePoly = function(val) { + this.family = PConstants.PATH; + this.close = val; + var pointsAttr = CommonFunctions.trim(this.element.getStringAttribute("points").replace(/[,\s]+/g,' ')); + if (pointsAttr !== null) { + //split into array + var pointsBuffer = pointsAttr.split(" "); + if (pointsBuffer.length % 2 === 0) { + for (var i = 0, j = pointsBuffer.length; i < j; i++) { + var verts = []; + verts[0] = pointsBuffer[i]; + verts[1] = pointsBuffer[++i]; + this.vertices.push(verts); } } else { - rx = this.element.getFloatAttribute("rx"); - ry = this.element.getFloatAttribute("ry"); - if (rx < 0 || ry < 0) { - throw("svg error: negative x-axis radius or y-axis radius found while parsing "); - } + throw("Error parsing polygon points: odd number of coordinates provided"); } - this.params[0] -= rx; - this.params[1] -= ry; + } + }; + /** + * @member PShapeSVG + * The parseRect() function parses a rect from an SVG file. + */ + PShapeSVG.prototype.parseRect = function() { + this.kind = PConstants.RECT; + this.family = PConstants.PRIMITIVE; + this.params = []; + this.params[0] = this.element.getFloatAttribute("x"); + this.params[1] = this.element.getFloatAttribute("y"); + this.params[2] = this.element.getFloatAttribute("width"); + this.params[3] = this.element.getFloatAttribute("height"); + if (this.params[2] < 0 || this.params[3] < 0) { + throw("svg error: negative width or height found while parsing "); + } + }; + /** + * @member PShapeSVG + * The parseEllipse() function handles parsing ellipse and circle tags. + * + * @param {boolean}val true if this is a circle and not an ellipse + */ + PShapeSVG.prototype.parseEllipse = function(val) { + this.kind = PConstants.ELLIPSE; + this.family = PConstants.PRIMITIVE; + this.params = []; - this.params[2] = rx*2; - this.params[3] = ry*2; - }; - /** - * @member PShapeSVG - * The parseLine() function handles parsing line tags. - * - * @param {boolean}val true if this is a circle and not an ellipse - */ - PShapeSVG.prototype.parseLine = function() { - this.kind = PConstants.LINE; - this.family = PConstants.PRIMITIVE; - this.params = []; - this.params[0] = this.element.getFloatAttribute("x1"); - this.params[1] = this.element.getFloatAttribute("y1"); - this.params[2] = this.element.getFloatAttribute("x2"); - this.params[3] = this.element.getFloatAttribute("y2"); - }; - /** - * @member PShapeSVG - * The parseColors() function handles parsing the opacity, strijem stroke-width, stroke-linejoin,stroke-linecap, fill, and style attributes - * - * @param {XMLElement}element the element of which attributes to parse - */ - PShapeSVG.prototype.parseColors = function(element) { - if (element.hasAttribute("opacity")) { - this.setOpacity(element.getAttribute("opacity")); - } - if (element.hasAttribute("stroke")) { - this.setStroke(element.getAttribute("stroke")); - } - if (element.hasAttribute("stroke-width")) { - // if NaN (i.e. if it's 'inherit') then default - // back to the inherit setting - this.setStrokeWeight(element.getAttribute("stroke-width")); - } - if (element.hasAttribute("stroke-linejoin") ) { - this.setStrokeJoin(element.getAttribute("stroke-linejoin")); - } - if (element.hasAttribute("stroke-linecap")) { - this.setStrokeCap(element.getStringAttribute("stroke-linecap")); - } - // fill defaults to black (though stroke defaults to "none") - // http://www.w3.org/TR/SVG/painting.html#FillProperties - if (element.hasAttribute("fill")) { - this.setFill(element.getStringAttribute("fill")); - } - if (element.hasAttribute("style")) { - var styleText = element.getStringAttribute("style"); - var styleTokens = styleText.toString().split( ";" ); - - for (var i = 0, j = styleTokens.length; i < j; i++) { - var tokens = p.trim(styleTokens[i].split( ":" )); - if (tokens[0] === "fill") { - this.setFill(tokens[1]); - } else if (tokens[0] === "fill-opacity") { - this.setFillOpacity(tokens[1]); - } else if (tokens[0] === "stroke") { - this.setStroke(tokens[1]); - } else if (tokens[0] === "stroke-width") { - this.setStrokeWeight(tokens[1]); - } else if (tokens[0] === "stroke-linecap") { - this.setStrokeCap(tokens[1]); - } else if (tokens[0] === "stroke-linejoin") { - this.setStrokeJoin(tokens[1]); - } else if (tokens[0] === "stroke-opacity") { - this.setStrokeOpacity(tokens[1]); - } else if (tokens[0] === "opacity") { - this.setOpacity(tokens[1]); - } // Other attributes are not yet implemented - } - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} opacityText the value of fillOpacity - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setFillOpacity = function(opacityText) { - this.fillOpacity = parseFloat(opacityText); - this.fillColor = this.fillOpacity * 255 << 24 | - this.fillColor & 0xFFFFFF; - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} fillText the value of fill - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setFill = function (fillText) { - var opacityMask = this.fillColor & 0xFF000000; - if (fillText === "none") { - this.fill = false; - } else if (fillText.indexOf("#") === 0) { - this.fill = true; - if (fillText.length === 4) { - // convert #00F to #0000FF - fillText = fillText.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"); - } - this.fillColor = opacityMask | - (parseInt(fillText.substring(1), 16 )) & + this.params[0] = this.element.getFloatAttribute("cx") | 0 ; + this.params[1] = this.element.getFloatAttribute("cy") | 0; + + var rx, ry; + if (val) { + rx = ry = this.element.getFloatAttribute("r"); + if (rx < 0) { + throw("svg error: negative radius found while parsing "); + } + } else { + rx = this.element.getFloatAttribute("rx"); + ry = this.element.getFloatAttribute("ry"); + if (rx < 0 || ry < 0) { + throw("svg error: negative x-axis radius or y-axis radius found while parsing "); + } + } + this.params[0] -= rx; + this.params[1] -= ry; + + this.params[2] = rx*2; + this.params[3] = ry*2; + }; + /** + * @member PShapeSVG + * The parseLine() function handles parsing line tags. + * + * @param {boolean}val true if this is a circle and not an ellipse + */ + PShapeSVG.prototype.parseLine = function() { + this.kind = PConstants.LINE; + this.family = PConstants.PRIMITIVE; + this.params = []; + this.params[0] = this.element.getFloatAttribute("x1"); + this.params[1] = this.element.getFloatAttribute("y1"); + this.params[2] = this.element.getFloatAttribute("x2"); + this.params[3] = this.element.getFloatAttribute("y2"); + }; + /** + * @member PShapeSVG + * The parseColors() function handles parsing the opacity, strijem stroke-width, stroke-linejoin,stroke-linecap, fill, and style attributes + * + * @param {XMLElement}element the element of which attributes to parse + */ + PShapeSVG.prototype.parseColors = function(element) { + if (element.hasAttribute("opacity")) { + this.setOpacity(element.getAttribute("opacity")); + } + if (element.hasAttribute("stroke")) { + this.setStroke(element.getAttribute("stroke")); + } + if (element.hasAttribute("stroke-width")) { + // if NaN (i.e. if it's 'inherit') then default + // back to the inherit setting + this.setStrokeWeight(element.getAttribute("stroke-width")); + } + if (element.hasAttribute("stroke-linejoin") ) { + this.setStrokeJoin(element.getAttribute("stroke-linejoin")); + } + if (element.hasAttribute("stroke-linecap")) { + this.setStrokeCap(element.getStringAttribute("stroke-linecap")); + } + // fill defaults to black (though stroke defaults to "none") + // http://www.w3.org/TR/SVG/painting.html#FillProperties + if (element.hasAttribute("fill")) { + this.setFill(element.getStringAttribute("fill")); + } + if (element.hasAttribute("style")) { + var styleText = element.getStringAttribute("style"); + var styleTokens = styleText.toString().split( ";" ); + + for (var i = 0, j = styleTokens.length; i < j; i++) { + var tokens = CommonFunctions.trim(styleTokens[i].split( ":" )); + if (tokens[0] === "fill") { + this.setFill(tokens[1]); + } else if (tokens[0] === "fill-opacity") { + this.setFillOpacity(tokens[1]); + } else if (tokens[0] === "stroke") { + this.setStroke(tokens[1]); + } else if (tokens[0] === "stroke-width") { + this.setStrokeWeight(tokens[1]); + } else if (tokens[0] === "stroke-linecap") { + this.setStrokeCap(tokens[1]); + } else if (tokens[0] === "stroke-linejoin") { + this.setStrokeJoin(tokens[1]); + } else if (tokens[0] === "stroke-opacity") { + this.setStrokeOpacity(tokens[1]); + } else if (tokens[0] === "opacity") { + this.setOpacity(tokens[1]); + } // Other attributes are not yet implemented + } + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} opacityText the value of fillOpacity + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setFillOpacity = function(opacityText) { + this.fillOpacity = parseFloat(opacityText); + this.fillColor = this.fillOpacity * 255 << 24 | + this.fillColor & 0xFFFFFF; + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} fillText the value of fill + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setFill = function (fillText) { + var opacityMask = this.fillColor & 0xFF000000; + if (fillText === "none") { + this.fill = false; + } else if (fillText.indexOf("#") === 0) { + this.fill = true; + if (fillText.length === 4) { + // convert #00F to #0000FF + fillText = fillText.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"); + } + this.fillColor = opacityMask | + (parseInt(fillText.substring(1), 16 )) & + 0xFFFFFF; + } else if (fillText.indexOf("rgb") === 0) { + this.fill = true; + this.fillColor = opacityMask | this.parseRGB(fillText); + } else if (fillText.indexOf("url(#") === 0) { + this.fillName = fillText.substring(5, fillText.length - 1 ); + } else if (colors[fillText]) { + this.fill = true; + this.fillColor = opacityMask | + (parseInt(colors[fillText].substring(1), 16)) & + 0xFFFFFF; + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} opacity the value of opacity + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setOpacity = function(opacity) { + this.strokeColor = parseFloat(opacity) * 255 << 24 | + this.strokeColor & 0xFFFFFF; + this.fillColor = parseFloat(opacity) * 255 << 24 | + this.fillColor & 0xFFFFFF; + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} strokeText the value to set stroke to + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setStroke = function(strokeText) { + var opacityMask = this.strokeColor & 0xFF000000; + if (strokeText === "none") { + this.stroke = false; + } else if (strokeText.charAt( 0 ) === "#") { + this.stroke = true; + if (strokeText.length === 4) { + // convert #00F to #0000FF + strokeText = strokeText.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"); + } + this.strokeColor = opacityMask | + (parseInt( strokeText.substring( 1 ), 16 )) & 0xFFFFFF; - } else if (fillText.indexOf("rgb") === 0) { - this.fill = true; - this.fillColor = opacityMask | this.parseRGB(fillText); - } else if (fillText.indexOf("url(#") === 0) { - this.fillName = fillText.substring(5, fillText.length - 1 ); - } else if (colors[fillText]) { - this.fill = true; - this.fillColor = opacityMask | - (parseInt(colors[fillText].substring(1), 16)) & + } else if (strokeText.indexOf( "rgb" ) === 0 ) { + this.stroke = true; + this.strokeColor = opacityMask | this.parseRGB(strokeText); + } else if (strokeText.indexOf( "url(#" ) === 0) { + this.strokeName = strokeText.substring(5, strokeText.length - 1); + } else if (colors[strokeText]) { + this.stroke = true; + this.strokeColor = opacityMask | + (parseInt(colors[strokeText].substring(1), 16)) & 0xFFFFFF; - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} opacity the value of opacity - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setOpacity = function(opacity) { - this.strokeColor = parseFloat(opacity) * 255 << 24 | - this.strokeColor & 0xFFFFFF; - this.fillColor = parseFloat(opacity) * 255 << 24 | - this.fillColor & 0xFFFFFF; - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} strokeText the value to set stroke to - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setStroke = function(strokeText) { - var opacityMask = this.strokeColor & 0xFF000000; - if (strokeText === "none") { - this.stroke = false; - } else if (strokeText.charAt( 0 ) === "#") { - this.stroke = true; - if (strokeText.length === 4) { - // convert #00F to #0000FF - strokeText = strokeText.replace(/#(.)(.)(.)/,"#$1$1$2$2$3$3"); - } - this.strokeColor = opacityMask | - (parseInt( strokeText.substring( 1 ), 16 )) & - 0xFFFFFF; - } else if (strokeText.indexOf( "rgb" ) === 0 ) { - this.stroke = true; - this.strokeColor = opacityMask | this.parseRGB(strokeText); - } else if (strokeText.indexOf( "url(#" ) === 0) { - this.strokeName = strokeText.substring(5, strokeText.length - 1); - } else if (colors[strokeText]) { - this.stroke = true; - this.strokeColor = opacityMask | - (parseInt(colors[strokeText].substring(1), 16)) & - 0xFFFFFF; - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} weight the value to set strokeWeight to - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setStrokeWeight = function(weight) { - this.strokeWeight = this.parseUnitSize(weight); - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} linejoin the value to set strokeJoin to - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setStrokeJoin = function(linejoin) { - if (linejoin === "miter") { - this.strokeJoin = PConstants.MITER; + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} weight the value to set strokeWeight to + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setStrokeWeight = function(weight) { + this.strokeWeight = this.parseUnitSize(weight); + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} linejoin the value to set strokeJoin to + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setStrokeJoin = function(linejoin) { + if (linejoin === "miter") { + this.strokeJoin = PConstants.MITER; - } else if (linejoin === "round") { - this.strokeJoin = PConstants.ROUND; + } else if (linejoin === "round") { + this.strokeJoin = PConstants.ROUND; - } else if (linejoin === "bevel") { - this.strokeJoin = PConstants.BEVEL; - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} linecap the value to set strokeCap to - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setStrokeCap = function (linecap) { - if (linecap === "butt") { - this.strokeCap = PConstants.SQUARE; + } else if (linejoin === "bevel") { + this.strokeJoin = PConstants.BEVEL; + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} linecap the value to set strokeCap to + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setStrokeCap = function (linecap) { + if (linecap === "butt") { + this.strokeCap = PConstants.SQUARE; - } else if (linecap === "round") { - this.strokeCap = PConstants.ROUND; + } else if (linecap === "round") { + this.strokeCap = PConstants.ROUND; - } else if (linecap === "square") { - this.strokeCap = PConstants.PROJECT; - } - }; - /** - * @member PShapeSVG - * PShapeSVG.parseColors() helper function - * - * @param {String} opacityText the value to set stroke opacity to - * - * @see PShapeSVG#parseColors - */ - PShapeSVG.prototype.setStrokeOpacity = function (opacityText) { - this.strokeOpacity = parseFloat(opacityText); - this.strokeColor = this.strokeOpacity * 255 << 24 | - this.strokeColor & - 0xFFFFFF; - }; - /** - * @member PShapeSVG - * The parseRGB() function parses an rbg() color string and returns a color int - * - * @param {String} color the color to parse in rbg() format - * - * @return {int} the equivalent color int - */ - PShapeSVG.prototype.parseRGB = function(color) { - var sub = color.substring(color.indexOf('(') + 1, color.indexOf(')')); - var values = sub.split(", "); - return (values[0] << 16) | (values[1] << 8) | (values[2]); - }; - /** - * @member PShapeSVG - * The parseUnitSize() function parse a size that may have a suffix for its units. - * Ignoring cases where this could also be a percentage. - * The units spec: - *
      - *
    • "1pt" equals "1.25px" (and therefore 1.25 user units) - *
    • "1pc" equals "15px" (and therefore 15 user units) - *
    • "1mm" would be "3.543307px" (3.543307 user units) - *
    • "1cm" equals "35.43307px" (and therefore 35.43307 user units) - *
    • "1in" equals "90px" (and therefore 90 user units) - *
    - */ - PShapeSVG.prototype.parseUnitSize = function (text) { - var len = text.length - 2; - if (len < 0) { return text; } - if (text.indexOf("pt") === len) { - return parseFloat(text.substring(0, len)) * 1.25; - } - if (text.indexOf("pc") === len) { - return parseFloat( text.substring( 0, len)) * 15; - } - if (text.indexOf("mm") === len) { - return parseFloat( text.substring(0, len)) * 3.543307; - } - if (text.indexOf("cm") === len) { - return parseFloat(text.substring(0, len)) * 35.43307; - } - if (text.indexOf("in") === len) { - return parseFloat(text.substring(0, len)) * 90; - } - if (text.indexOf("px") === len) { - return parseFloat(text.substring(0, len)); - } - return parseFloat(text); - }; - /** - * The shape() function displays shapes to the screen. - * Processing currently works with SVG shapes only. - * The shape parameter specifies the shape to display and the x - * and y parameters define the location of the shape from its - * upper-left corner. - * The shape is displayed at its original size unless the width - * and height parameters specify a different size. - * The shapeMode() function changes the way the parameters work. - * A call to shapeMode(CORNERS), for example, will change the width - * and height parameters to define the x and y values of the opposite corner - * of the shape. - *

    - * Note complex shapes may draw awkwardly with P2D, P3D, and OPENGL. Those - * renderers do not yet support shapes that have holes or complicated breaks. - * - * @param {PShape} shape the shape to display - * @param {int|float} x x-coordinate of the shape - * @param {int|float} y y-coordinate of the shape - * @param {int|float} width width to display the shape - * @param {int|float} height height to display the shape - * - * @see PShape - * @see loadShape() - * @see shapeMode() - */ - p.shape = function(shape, x, y, width, height) { - if (arguments.length >= 1 && arguments[0] !== null) { - if (shape.isVisible()) { - p.pushMatrix(); - if (curShapeMode === PConstants.CENTER) { - if (arguments.length === 5) { - p.translate(x - width/2, y - height/2); - p.scale(width / shape.getWidth(), height / shape.getHeight()); - } else if (arguments.length === 3) { - p.translate(x - shape.getWidth()/2, - shape.getHeight()/2); - } else { - p.translate(-shape.getWidth()/2, -shape.getHeight()/2); - } - } else if (curShapeMode === PConstants.CORNER) { - if (arguments.length === 5) { - p.translate(x, y); - p.scale(width / shape.getWidth(), height / shape.getHeight()); - } else if (arguments.length === 3) { - p.translate(x, y); - } - } else if (curShapeMode === PConstants.CORNERS) { - if (arguments.length === 5) { - width -= x; - height -= y; - p.translate(x, y); - p.scale(width / shape.getWidth(), height / shape.getHeight()); - } else if (arguments.length === 3) { - p.translate(x, y); - } - } - shape.draw(p); - if ((arguments.length === 1 && curShapeMode === PConstants.CENTER ) || arguments.length > 1) { - p.popMatrix(); - } - } - } - }; + } else if (linecap === "square") { + this.strokeCap = PConstants.PROJECT; + } + }; + /** + * @member PShapeSVG + * PShapeSVG.parseColors() helper function + * + * @param {String} opacityText the value to set stroke opacity to + * + * @see PShapeSVG#parseColors + */ + PShapeSVG.prototype.setStrokeOpacity = function (opacityText) { + this.strokeOpacity = parseFloat(opacityText); + this.strokeColor = this.strokeOpacity * 255 << 24 | + this.strokeColor & + 0xFFFFFF; + }; + /** + * @member PShapeSVG + * The parseRGB() function parses an rbg() color string and returns a color int + * + * @param {String} color the color to parse in rbg() format + * + * @return {int} the equivalent color int + */ + PShapeSVG.prototype.parseRGB = function(color) { + var sub = color.substring(color.indexOf('(') + 1, color.indexOf(')')); + var values = sub.split(", "); + return (values[0] << 16) | (values[1] << 8) | (values[2]); + }; + /** + * @member PShapeSVG + * The parseUnitSize() function parse a size that may have a suffix for its units. + * Ignoring cases where this could also be a percentage. + * The units spec: + *
      + *
    • "1pt" equals "1.25px" (and therefore 1.25 user units) + *
    • "1pc" equals "15px" (and therefore 15 user units) + *
    • "1mm" would be "3.543307px" (3.543307 user units) + *
    • "1cm" equals "35.43307px" (and therefore 35.43307 user units) + *
    • "1in" equals "90px" (and therefore 90 user units) + *
    + */ + PShapeSVG.prototype.parseUnitSize = function (text) { + var len = text.length - 2; + if (len < 0) { return text; } + if (text.indexOf("pt") === len) { + return parseFloat(text.substring(0, len)) * 1.25; + } + if (text.indexOf("pc") === len) { + return parseFloat( text.substring( 0, len)) * 15; + } + if (text.indexOf("mm") === len) { + return parseFloat( text.substring(0, len)) * 3.543307; + } + if (text.indexOf("cm") === len) { + return parseFloat(text.substring(0, len)) * 35.43307; + } + if (text.indexOf("in") === len) { + return parseFloat(text.substring(0, len)) * 90; + } + if (text.indexOf("px") === len) { + return parseFloat(text.substring(0, len)); + } + return parseFloat(text); + }; - /** - * The shapeMode() function modifies the location from which shapes draw. - * The default mode is shapeMode(CORNER), which specifies the - * location to be the upper left corner of the shape and uses the third - * and fourth parameters of shape() to specify the width and height. - * The syntax shapeMode(CORNERS) uses the first and second parameters - * of shape() to set the location of one corner and uses the third - * and fourth parameters to set the opposite corner. - * The syntax shapeMode(CENTER) draws the shape from its center point - * and uses the third and forth parameters of shape() to specify the - * width and height. - * The parameter must be written in "ALL CAPS" because Processing syntax - * is case sensitive. - * - * @param {int} mode One of CORNER, CORNERS, CENTER - * - * @see shape() - * @see rectMode() - */ - p.shapeMode = function (mode) { - curShapeMode = mode; - }; + return PShapeSVG; +}; - /** - * The loadShape() function loads vector shapes into a variable of type PShape. Currently, only SVG files may be loaded. - * In most cases, loadShape() should be used inside setup() because loading shapes inside draw() will reduce the speed of a sketch. - * - * @param {String} filename an SVG file - * - * @return {PShape} a object of type PShape or null - * @see PShape - * @see PApplet#shape() - * @see PApplet#shapeMode() - */ - p.loadShape = function (filename) { - if (arguments.length === 1) { - if (filename.indexOf(".svg") > -1) { - return new PShapeSVG(null, filename); - } - } - return null; - }; +},{}],20:[function(require,module,exports){ +/** + * Processing.js default scope + */ +module.exports = function(options) { - /** - * XMLAttribute is an attribute of a XML element. This is an internal class - * - * @param {String} fname the full name of the attribute - * @param {String} n the short name of the attribute - * @param {String} namespace the namespace URI of the attribute - * @param {String} v the value of the attribute - * @param {String }t the type of the attribute - * - * @see XMLElement - */ - var XMLAttribute = function(fname, n, nameSpace, v, t){ - this.fullName = fname || ""; - this.name = n || ""; - this.namespace = nameSpace || ""; - this.value = v; - this.type = t; - }; - /** - * XMLAttribute methods - */ - XMLAttribute.prototype = { - /** - * @member XMLAttribute - * The getName() function returns the short name of the attribute - * - * @return {String} the short name of the attribute - */ - getName: function() { - return this.name; - }, - /** - * @member XMLAttribute - * The getFullName() function returns the full name of the attribute - * - * @return {String} the full name of the attribute - */ - getFullName: function() { - return this.fullName; - }, - /** - * @member XMLAttribute - * The getNamespace() function returns the namespace of the attribute - * - * @return {String} the namespace of the attribute - */ - getNamespace: function() { - return this.namespace; - }, - /** - * @member XMLAttribute - * The getValue() function returns the value of the attribute - * - * @return {String} the value of the attribute - */ - getValue: function() { - return this.value; - }, - /** - * @member XMLAttribute - * The getValue() function returns the type of the attribute - * - * @return {String} the type of the attribute - */ - getType: function() { - return this.type; - }, - /** - * @member XMLAttribute - * The setValue() function sets the value of the attribute - * - * @param {String} newval the new value - */ - setValue: function(newval) { - this.value = newval; + // Building defaultScope. Changing of the prototype protects + // internal Processing code from the changes in defaultScope + function DefaultScope() {} + DefaultScope.prototype = options.PConstants; + + var defaultScope = new DefaultScope(); + + // copy over all known Object types and helper objects + Object.keys(options).forEach(function(prop) { + defaultScope[prop] = options[prop]; + }); + + //////////////////////////////////////////////////////////////////////////// + // Class inheritance helper methods + //////////////////////////////////////////////////////////////////////////// + + defaultScope.defineProperty = function(obj, name, desc) { + if("defineProperty" in Object) { + Object.defineProperty(obj, name, desc); + } else { + if (desc.hasOwnProperty("get")) { + obj.__defineGetter__(name, desc.get); } + if (desc.hasOwnProperty("set")) { + obj.__defineSetter__(name, desc.set); + } + } + }; + + /** + * class overloading, part 1 + */ + function overloadBaseClassFunction(object, name, basefn) { + if (!object.hasOwnProperty(name) || typeof object[name] !== 'function') { + // object method is not a function or just inherited from Object.prototype + object[name] = basefn; + return; + } + var fn = object[name]; + if ("$overloads" in fn) { + // the object method already overloaded (see defaultScope.addMethod) + // let's just change a fallback method + fn.$defaultOverload = basefn; + return; + } + if (!("$overloads" in basefn) && fn.length === basefn.length) { + // special case when we just overriding the method + return; + } + var overloads, defaultOverload; + if ("$overloads" in basefn) { + // let's inherit base class overloads to speed up things + overloads = basefn.$overloads.slice(0); + overloads[fn.length] = fn; + defaultOverload = basefn.$defaultOverload; + } else { + overloads = []; + overloads[basefn.length] = basefn; + overloads[fn.length] = fn; + defaultOverload = fn; + } + var hubfn = function() { + var fn = hubfn.$overloads[arguments.length] || + ("$methodArgsIndex" in hubfn && arguments.length > hubfn.$methodArgsIndex ? + hubfn.$overloads[hubfn.$methodArgsIndex] : null) || + hubfn.$defaultOverload; + return fn.apply(this, arguments); }; + hubfn.$overloads = overloads; + if ("$methodArgsIndex" in basefn) { + hubfn.$methodArgsIndex = basefn.$methodArgsIndex; + } + hubfn.$defaultOverload = defaultOverload; + hubfn.name = name; + object[name] = hubfn; + } - /** - * XMLElement is a representation of an XML object. The object is able to parse XML code - * - * @param {PApplet} parent typically use "this" - * @param {String} filename name of the XML/SVG file to load - * @param {String} xml the xml/svg string - * @param {String} fullname the full name of the element - * @param {String} namespace the namespace of the URI - * @param {String} systemID the system ID of the XML data where the element starts - * @param {Integer }lineNr the line in the XML data where the element starts - */ - var XMLElement = p.XMLElement = function(selector, uri, sysid, line) { - this.attributes = []; - this.children = []; - this.fullName = null; - this.name = null; - this.namespace = ""; - this.content = null; - this.parent = null; - this.lineNr = ""; - this.systemID = ""; - this.type = "ELEMENT"; - - if (selector) { - if (typeof selector === "string") { - if (uri === undef && selector.indexOf("<") > -1) { - // load XML from text string - this.parse(selector); - } else { - // XMLElement(fullname, namespace, sysid, line) format - this.fullName = selector; - this.namespace = uri; - this.systemId = sysid; - this.lineNr = line; - } - } else { - // XMLElement(this,file) format - this.parse(uri); - } + /** + * class overloading, part 2 + */ + + function extendClass(subClass, baseClass) { + function extendGetterSetter(propertyName) { + defaultScope.defineProperty(subClass, propertyName, { + get: function() { + return baseClass[propertyName]; + }, + set: function(v) { + baseClass[propertyName]=v; + }, + enumerable: true + }); + } + + var properties = []; + for (var propertyName in baseClass) { + if (typeof baseClass[propertyName] === 'function') { + overloadBaseClassFunction(subClass, propertyName, baseClass[propertyName]); + } else if(propertyName.charAt(0) !== "$" && !(propertyName in subClass)) { + // Delaying the properties extension due to the IE9 bug (see #918). + properties.push(propertyName); } - }; - /** - * XMLElement methods - * missing: enumerateAttributeNames(), enumerateChildren(), - * NOTE: parse does not work when a url is passed in - */ - XMLElement.prototype = { - /** - * @member XMLElement - * The parse() function retrieves the file via ajax() and uses DOMParser() - * parseFromString method to make an XML document - * @addon - * - * @param {String} filename name of the XML/SVG file to load - * - * @throws ExceptionType Error loading document - * - * @see XMLElement#parseChildrenRecursive - */ - parse: function(textstring) { - var xmlDoc; - try { - var extension = textstring.substring(textstring.length-4); - if (extension === ".xml" || extension === ".svg") { - textstring = ajax(textstring); - } - xmlDoc = new DOMParser().parseFromString(textstring, "text/xml"); - var elements = xmlDoc.documentElement; - if (elements) { - this.parseChildrenRecursive(null, elements); - } else { - throw ("Error loading document"); - } - return this; - } catch(e) { - throw(e); + } + while (properties.length > 0) { + extendGetterSetter(properties.shift()); + } + + subClass.$super = baseClass; + } + + /** + * class overloading, part 3 + */ + defaultScope.extendClassChain = function(base) { + var path = [base]; + for (var self = base.$upcast; self; self = self.$upcast) { + extendClass(self, base); + path.push(self); + base = self; + } + while (path.length > 0) { + path.pop().$self=base; + } + }; + + // static + defaultScope.extendStaticMembers = function(derived, base) { + extendClass(derived, base); + }; + + // interface + defaultScope.extendInterfaceMembers = function(derived, base) { + extendClass(derived, base); + }; + + /** + * Java methods and JavaScript functions differ enough that + * we need a special function to make sure it all links up + * as classical hierarchical class chains. + */ + defaultScope.addMethod = function(object, name, fn, hasMethodArgs) { + var existingfn = object[name]; + if (existingfn || hasMethodArgs) { + var args = fn.length; + // builds the overload methods table + if ("$overloads" in existingfn) { + existingfn.$overloads[args] = fn; + } else { + var hubfn = function() { + var fn = hubfn.$overloads[arguments.length] || + ("$methodArgsIndex" in hubfn && arguments.length > hubfn.$methodArgsIndex ? + hubfn.$overloads[hubfn.$methodArgsIndex] : null) || + hubfn.$defaultOverload; + return fn.apply(this, arguments); + }; + var overloads = []; + if (existingfn) { + overloads[existingfn.length] = existingfn; } - }, - /** - * @member XMLElement - * Internal helper function for parse(). - * Loops through the - * @addon - * - * @param {XMLElement} parent the parent node - * @param {XML document childNodes} elementpath the remaining nodes that need parsing - * - * @return {XMLElement} the new element and its children elements - */ - parseChildrenRecursive: function (parent, elementpath){ - var xmlelement, - xmlattribute, - tmpattrib, - l, m, - child; - if (!parent) { // this element is the root element - this.fullName = elementpath.localName; - this.name = elementpath.nodeName; - xmlelement = this; - } else { // this element has a parent - xmlelement = new XMLElement(elementpath.nodeName); - xmlelement.parent = parent; - } - - // if this is a text node, return a PCData element (parsed character data) - if (elementpath.nodeType === 3 && elementpath.textContent !== "") { - return this.createPCDataElement(elementpath.textContent); - } - - // if this is a CDATA node, return a CData element (unparsed character data) - if (elementpath.nodeType === 4) { - return this.createCDataElement(elementpath.textContent); - } - - // bind all attributes, if there are any - if (elementpath.attributes) { - for (l = 0, m = elementpath.attributes.length; l < m; l++) { - tmpattrib = elementpath.attributes[l]; - xmlattribute = new XMLAttribute(tmpattrib.getname, - tmpattrib.nodeName, - tmpattrib.namespaceURI, - tmpattrib.nodeValue, - tmpattrib.nodeType); - xmlelement.attributes.push(xmlattribute); - } + overloads[args] = fn; + hubfn.$overloads = overloads; + hubfn.$defaultOverload = existingfn || fn; + if (hasMethodArgs) { + hubfn.$methodArgsIndex = args; } + hubfn.name = name; + object[name] = hubfn; + } + } else { + object[name] = fn; + } + }; - // bind all children, if there are any - if (elementpath.childNodes) { - for (l = 0, m = elementpath.childNodes.length; l < m; l++) { - var node = elementpath.childNodes[l]; - child = xmlelement.parseChildrenRecursive(xmlelement, node); - if (child !== null) { - xmlelement.children.push(child); - } - } - } + // internal helper function + function isNumericalJavaType(type) { + if (typeof type !== "string") { + return false; + } + return ["byte", "int", "char", "color", "float", "long", "double"].indexOf(type) !== -1; + } - return xmlelement; - }, - /** - * @member XMLElement - * The createElement() function Creates an empty element - * - * @param {String} fullName the full name of the element - * @param {String} namespace the namespace URI - * @param {String} systemID the system ID of the XML data where the element starts - * @param {int} lineNr the line in the XML data where the element starts - */ - createElement: function (fullname, namespaceuri, sysid, line) { - if (sysid === undef) { - return new XMLElement(fullname, namespaceuri); + /** + * Java's arrays are pre-filled when declared with + * an initial size, but no content. JS arrays are not. + */ + defaultScope.createJavaArray = function(type, bounds) { + var result = null, + defaultValue = null; + if (typeof type === "string") { + if (type === "boolean") { + defaultValue = false; + } else if (isNumericalJavaType(type)) { + defaultValue = 0; + } + } + if (typeof bounds[0] === 'number') { + var itemsCount = 0 | bounds[0]; + if (bounds.length <= 1) { + result = []; + result.length = itemsCount; + for (var i = 0; i < itemsCount; ++i) { + result[i] = defaultValue; } - return new XMLElement(fullname, namespaceuri, sysid, line); - }, - /** - * @member XMLElement - * The createPCDataElement() function creates an element to be used for #PCDATA content. - * Because Processing discards whitespace TEXT nodes, this method will not build an element - * if the passed content is empty after trimming for whitespace. - * - * @return {XMLElement} new "pcdata" XMLElement, or null if content consists only of whitespace - */ - createPCDataElement: function (content, isCDATA) { - if (content.replace(/^\s+$/g,"") === "") { - return null; - } - var pcdata = new XMLElement(); - pcdata.type = "TEXT"; - pcdata.content = content; - return pcdata; - }, - /** - * @member XMLElement - * The createCDataElement() function creates an element to be used for CDATA content. - * - * @return {XMLElement} new "cdata" XMLElement, or null if content consists only of whitespace - */ - createCDataElement: function (content) { - var cdata = this.createPCDataElement(content); - if (cdata === null) { - return null; - } - - cdata.type = "CDATA"; - var htmlentities = {"<": "<", ">": ">", "'": "'", '"': """}, - entity; - for (entity in htmlentities) { - if (!Object.hasOwnProperty(htmlentities,entity)) { - content = content.replace(new RegExp(entity, "g"), htmlentities[entity]); - } + } else { + result = []; + var newBounds = bounds.slice(1); + for (var j = 0; j < itemsCount; ++j) { + result.push(defaultScope.createJavaArray(type, newBounds)); } - cdata.cdata = content; - return cdata; - }, - /** - * @member XMLElement - * The hasAttribute() function returns whether an attribute exists - * - * @param {String} name name of the attribute - * @param {String} namespace the namespace URI of the attribute - * - * @return {boolean} true if the attribute exists - */ - hasAttribute: function () { - if (arguments.length === 1) { - return this.getAttribute(arguments[0]) !== null; + } + } + return result; + }; + + // screenWidth and screenHeight are shared by all instances. + // and return the width/height of the browser's viewport. + defaultScope.defineProperty(defaultScope, 'screenWidth', + { get: function() { return window.innerWidth; } }); + + defaultScope.defineProperty(defaultScope, 'screenHeight', + { get: function() { return window.innerHeight; } }); + + return defaultScope; +}; + +},{}],23:[function(require,module,exports){ +(function(){/** + * Finalise the Processing.js object. + */ +module.exports = function finalizeProcessing(Processing, options) { + + // unpack options + var window = options.window, + document = options.document, + XMLHttpRequest = window.XMLHttpRequest, + noop = options.noop, + isDOMPresent = options.isDOMPresent, + version = options.version, + undef; + + // versioning + Processing.version = (version ? version : "@DEV-VERSION@"); + + // Share lib space + Processing.lib = {}; + + /** + * External libraries can be added to the global Processing + * objects with the `registerLibrary` function. + */ + Processing.registerLibrary = function(name, library) { + Processing.lib[name] = library; + if(library.hasOwnProperty("init")) { + library.init(defaultScope); + } + }; + + /** + * This is the object that acts as our version of PApplet. + * This can be called as Processing.Sketch() or as + * Processing.Sketch(function) in which case the function + * must be an already-compiled-to-JS sketch function. + */ + Processing.Sketch = function(attachFunction) { + this.attachFunction = attachFunction; + this.options = { + pauseOnBlur: false, + globalKeyEvents: false + }; + + /* Optional Sketch event hooks: + * onLoad - parsing/preloading is done, before sketch starts + * onSetup - setup() has been called, before first draw() + * onPause - noLoop() has been called, pausing draw loop + * onLoop - loop() has been called, resuming draw loop + * onFrameStart - draw() loop about to begin + * onFrameEnd - draw() loop finished + * onExit - exit() done being called + */ + this.onLoad = noop; + this.onSetup = noop; + this.onPause = noop; + this.onLoop = noop; + this.onFrameStart = noop; + this.onFrameEnd = noop; + this.onExit = noop; + + this.params = {}; + this.imageCache = { + pending: 0, + images: {}, + // Opera requires special administration for preloading + operaCache: {}, + // Specify an optional img arg if the image is already loaded in the DOM, + // otherwise href will get loaded. + add: function(href, img) { + // Prevent muliple loads for an image, in case it gets + // preloaded more than once, or is added via JS and then preloaded. + if (this.images[href]) { + return; } - if (arguments.length === 2) { - return this.getAttribute(arguments[0],arguments[1]) !== null; + + if (!isDOMPresent) { + this.images[href] = null; } - }, - /** - * @member XMLElement - * The equals() function checks to see if the XMLElement being passed in equals another XMLElement - * - * @param {XMLElement} rawElement the element to compare to - * - * @return {boolean} true if the element equals another element - */ - equals: function(other) { - if (!(other instanceof XMLElement)) { - return false; + + // No image in the DOM, kick-off a background load + if (!img) { + img = new Image(); + img.onload = (function(owner) { + return function() { + owner.pending--; + }; + }(this)); + this.pending++; + img.src = href; } - var i, j; - if (this.fullName !== other.fullName) { return false; } - if (this.attributes.length !== other.getAttributeCount()) { return false; } - // attributes may be ordered differently - if (this.attributes.length !== other.attributes.length) { return false; } - var attr_name, attr_ns, attr_value, attr_type, attr_other; - for (i = 0, j = this.attributes.length; i < j; i++) { - attr_name = this.attributes[i].getName(); - attr_ns = this.attributes[i].getNamespace(); - attr_other = other.findAttribute(attr_name, attr_ns); - if (attr_other === null) { return false; } - if (this.attributes[i].getValue() !== attr_other.getValue()) { return false; } - if (this.attributes[i].getType() !== attr_other.getType()) { return false; } - } - // children must be ordered identically - if (this.children.length !== other.getChildCount()) { return false; } - if (this.children.length>0) { - var child1, child2; - for (i = 0, j = this.children.length; i < j; i++) { - child1 = this.getChild(i); - child2 = other.getChild(i); - if (!child1.equals(child2)) { return false; } + + this.images[href] = img; + + // Opera will not load images until they are inserted into the DOM. + if (window.opera) { + var div = document.createElement("div"); + div.appendChild(img); + // we can't use "display: none", since that makes it invisible, and thus not load + div.style.position = "absolute"; + div.style.opacity = 0; + div.style.width = "1px"; + div.style.height= "1px"; + if (!this.operaCache[href]) { + document.body.appendChild(div); + this.operaCache[href] = div; } - return true; } - return (this.content === other.content); - }, - /** - * @member XMLElement - * The getContent() function returns the content of an element. If there is no such content, null is returned - * - * @return {String} the (possibly null) content - */ - getContent: function(){ - if (this.type === "TEXT" || this.type === "CDATA") { - return this.content; + } + }; + + this.sourceCode = undefined; + this.attach = function(processing) { + // either attachFunction or sourceCode must be present on attach + if(typeof this.attachFunction === "function") { + this.attachFunction(processing); + } else if(this.sourceCode) { + var func = ((new Function("return (" + this.sourceCode + ");"))()); + func(processing); + this.attachFunction = func; + } else { + throw "Unable to attach sketch to the processing instance"; + } + }; + + this.toString = function() { + var i; + var code = "((function(Sketch) {\n"; + code += "var sketch = new Sketch(\n" + this.sourceCode + ");\n"; + for(i in this.options) { + if(this.options.hasOwnProperty(i)) { + var value = this.options[i]; + code += "sketch.options." + i + " = " + + (typeof value === 'string' ? '\"' + value + '\"' : "" + value) + ";\n"; } - var children = this.children; - if (children.length === 1 && (children[0].type === "TEXT" || children[0].type === "CDATA")) { - return children[0].content; + } + for(i in this.imageCache) { + if(this.options.hasOwnProperty(i)) { + code += "sketch.imageCache.add(\"" + i + "\");\n"; } - return null; - }, - /** - * @member XMLElement - * The getAttribute() function returns the value of an attribute - * - * @param {String} name the non-null full name of the attribute - * @param {String} namespace the namespace URI, which may be null - * @param {String} defaultValue the default value of the attribute - * - * @return {String} the value, or defaultValue if the attribute does not exist - */ - getAttribute: function (){ - var attribute; - if (arguments.length === 2) { - attribute = this.findAttribute(arguments[0]); - if (attribute) { - return attribute.getValue(); - } - return arguments[1]; - } else if (arguments.length === 1) { - attribute = this.findAttribute(arguments[0]); - if (attribute) { - return attribute.getValue(); - } - return null; - } else if (arguments.length === 3) { - attribute = this.findAttribute(arguments[0],arguments[1]); - if (attribute) { - return attribute.getValue(); + } + // TODO serialize fonts + code += "return sketch;\n})(Processing.Sketch))"; + return code; + }; + }; + + /** + * aggregate all source code into a single file, then rewrite that + * source and bind to canvas via new Processing(canvas, sourcestring). + * @param {CANVAS} canvas The html canvas element to bind to + * @param {String[]} source The array of files that must be loaded + */ + var loadSketchFromSources = Processing.loadSketchFromSources = function(canvas, sources) { + var code = [], errors = [], sourcesCount = sources.length, loaded = 0; + + function ajaxAsync(url, callback) { + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function() { + if (xhr.readyState === 4) { + var error; + if (xhr.status !== 200 && xhr.status !== 0) { + error = "Invalid XHR status " + xhr.status; + } else if (xhr.responseText === "") { + // Give a hint when loading fails due to same-origin issues on file:/// urls + if ( ("withCredentials" in new XMLHttpRequest()) && + (new XMLHttpRequest()).withCredentials === false && + window.location.protocol === "file:" ) { + error = "XMLHttpRequest failure, possibly due to a same-origin policy violation. You can try loading this page in another browser, or load it from http://localhost using a local webserver. See the Processing.js README for a more detailed explanation of this problem and solutions."; + } else { + error = "File is empty."; + } } - return arguments[2]; - } - }, - /** - * @member XMLElement - * The getStringAttribute() function returns the string attribute of the element - * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. - * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. - * - * @param name the name of the attribute - * @param defaultValue value returned if the attribute is not found - * - * @return {String} the value, or defaultValue if the attribute does not exist - */ - getStringAttribute: function() { - if (arguments.length === 1) { - return this.getAttribute(arguments[0]); - } - if (arguments.length === 2) { - return this.getAttribute(arguments[0], arguments[1]); - } - return this.getAttribute(arguments[0], arguments[1],arguments[2]); - }, - /** - * Processing 1.5 XML API wrapper for the generic String - * attribute getter. This may only take one argument. - */ - getString: function(attributeName) { - return this.getStringAttribute(attributeName); - }, - /** - * @member XMLElement - * The getFloatAttribute() function returns the float attribute of the element. - * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. - * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. - * - * @param name the name of the attribute - * @param defaultValue value returned if the attribute is not found - * - * @return {float} the value, or defaultValue if the attribute does not exist - */ - getFloatAttribute: function() { - if (arguments.length === 1 ) { - return parseFloat(this.getAttribute(arguments[0], 0)); - } - if (arguments.length === 2 ) { - return this.getAttribute(arguments[0], arguments[1]); - } - return this.getAttribute(arguments[0], arguments[1],arguments[2]); - }, - /** - * Processing 1.5 XML API wrapper for the generic float - * attribute getter. This may only take one argument. - */ - getFloat: function(attributeName) { - return this.getFloatAttribute(attributeName); - }, - /** - * @member XMLElement - * The getIntAttribute() function returns the integer attribute of the element. - * If the defaultValue parameter is used and the attribute doesn't exist, the defaultValue value is returned. - * When calling the function without the defaultValue parameter, if the attribute doesn't exist, the value 0 is returned. - * - * @param name the name of the attribute - * @param defaultValue value returned if the attribute is not found - * - * @return {int} the value, or defaultValue if the attribute does not exist - */ - getIntAttribute: function () { - if (arguments.length === 1) { - return this.getAttribute( arguments[0], 0 ); - } - if (arguments.length === 2) { - return this.getAttribute(arguments[0], arguments[1]); + + callback(xhr.responseText, error); } - return this.getAttribute(arguments[0], arguments[1],arguments[2]); - }, - /** - * Processing 1.5 XML API wrapper for the generic int - * attribute getter. This may only take one argument. - */ - getInt: function(attributeName) { - return this.getIntAttribute(attributeName); - }, - /** - * @member XMLElement - * The hasChildren() function returns whether the element has children. - * - * @return {boolean} true if the element has children. - */ - hasChildren: function () { - return this.children.length > 0 ; - }, - /** - * @member XMLElement - * The addChild() function adds a child element - * - * @param {XMLElement} child the non-null child to add. - */ - addChild: function (child) { - if (child !== null) { - child.parent = this; - this.children.push(child); + }; + xhr.open("GET", url, true); + if (xhr.overrideMimeType) { + xhr.overrideMimeType("application/json"); + } + xhr.setRequestHeader("If-Modified-Since", "Fri, 01 Jan 1960 00:00:00 GMT"); // no cache + xhr.send(null); + } + + function loadBlock(index, filename) { + function callback(block, error) { + code[index] = block; + ++loaded; + if (error) { + errors.push(filename + " ==> " + error); } - }, - /** - * @member XMLElement - * The insertChild() function inserts a child element at the index provided - * - * @param {XMLElement} child the non-null child to add. - * @param {int} index where to put the child. - */ - insertChild: function (child, index) { - if (child) { - if ((child.getLocalName() === null) && (! this.hasChildren())) { - var lastChild = this.children[this.children.length -1]; - if (lastChild.getLocalName() === null) { - lastChild.setContent(lastChild.getContent() + child.getContent()); - return; + if (loaded === sourcesCount) { + if (errors.length === 0) { + try { + return new Processing(canvas, code.join("\n")); + } catch(e) { + console.log("Processing.js: Unable to execute pjs sketch."); + throw e; } + } else { + throw "Processing.js: Unable to load pjs sketch files: " + errors.join("\n"); } - child.parent = this; - this.children.splice(index,0,child); - } - }, - /** - * @member XMLElement - * The getChild() returns the child XMLElement as specified by the index parameter. - * The value of the index parameter must be less than the total number of children to avoid going out of the array storing the child elements. - * When the path parameter is specified, then it will return all children that match that path. The path is a series of elements and sub-elements, separated by slashes. - * - * @param {int} index where to put the child. - * @param {String} path path to a particular element - * - * @return {XMLElement} the element - */ - getChild: function (selector) { - if (typeof selector === "number") { - return this.children[selector]; } - if (selector.indexOf('/') !== -1) { - // path traversal is required - return this.getChildRecursive(selector.split("/"), 0); - } - var kid, kidName; - for (var i = 0, j = this.getChildCount(); i < j; i++) { - kid = this.getChild(i); - kidName = kid.getName(); - if (kidName !== null && kidName === selector) { - return kid; - } + } + if (filename.charAt(0) === '#') { + // trying to get script from the element + var scriptElement = document.getElementById(filename.substring(1)); + if (scriptElement) { + callback(scriptElement.text || scriptElement.textContent); + } else { + callback("", "Unable to load pjs sketch: element with id \'" + filename.substring(1) + "\' was not found"); } - return null; - }, - /** - * @member XMLElement - * The getChildren() returns all of the children as an XMLElement array. - * When the path parameter is specified, then it will return all children that match that path. - * The path is a series of elements and sub-elements, separated by slashes. - * - * @param {String} path element name or path/to/element - * - * @return {XMLElement} array of child elements that match - * - * @see XMLElement#getChildCount() - * @see XMLElement#getChild() - */ - getChildren: function(){ - if (arguments.length === 1) { - if (typeof arguments[0] === "number") { - return this.getChild( arguments[0]); - } - if (arguments[0].indexOf('/') !== -1) { // path was given - return this.getChildrenRecursive( arguments[0].split("/"), 0); - } - var matches = []; - var kid, kidName; - for (var i = 0, j = this.getChildCount(); i < j; i++) { - kid = this.getChild(i); - kidName = kid.getName(); - if (kidName !== null && kidName === arguments[0]) { - matches.push(kid); - } - } - return matches; - } - return this.children; - }, - /** - * @member XMLElement - * The getChildCount() returns the number of children for the element. - * - * @return {int} the count - * - * @see XMLElement#getChild() - * @see XMLElement#getChildren() - */ - getChildCount: function() { - return this.children.length; - }, - /** - * @member XMLElement - * Internal helper function for getChild(). - * - * @param {String[]} items result of splitting the query on slashes - * @param {int} offset where in the items[] array we're currently looking - * - * @return {XMLElement} matching element or null if no match - */ - getChildRecursive: function (items, offset) { - // terminating clause: we are the requested candidate - if (offset === items.length) { - return this; - } - // continuation clause - var kid, kidName, matchName = items[offset]; - for(var i = 0, j = this.getChildCount(); i < j; i++) { - kid = this.getChild(i); - kidName = kid.getName(); - if (kidName !== null && kidName === matchName) { - return kid.getChildRecursive(items, offset+1); - } - } - return null; - }, - /** - * @member XMLElement - * Internal helper function for getChildren(). - * - * @param {String[]} items result of splitting the query on slashes - * @param {int} offset where in the items[] array we're currently looking - * - * @return {XMLElement[]} matching elements or empty array if no match - */ - getChildrenRecursive: function (items, offset) { - if (offset === items.length-1) { - return this.getChildren(items[offset]); - } - var matches = this.getChildren(items[offset]); - var kidMatches = []; - for (var i = 0; i < matches.length; i++) { - kidMatches = kidMatches.concat(matches[i].getChildrenRecursive(items, offset+1)); - } - return kidMatches; - }, - /** - * @member XMLElement - * The isLeaf() function returns whether the element is a leaf element. - * - * @return {boolean} true if the element has no children. - */ - isLeaf: function() { - return !this.hasChildren(); - }, - /** - * @member XMLElement - * The listChildren() function put the names of all children into an array. Same as looping through - * each child and calling getName() on each XMLElement. - * - * @return {String[]} a list of element names. - */ - listChildren: function() { - var arr = []; - for (var i = 0, j = this.children.length; i < j; i++) { - arr.push( this.getChild(i).getName()); - } - return arr; - }, - /** - * @member XMLElement - * The removeAttribute() function removes an attribute - * - * @param {String} name the non-null name of the attribute. - * @param {String} namespace the namespace URI of the attribute, which may be null. - */ - removeAttribute: function (name , namespace) { - this.namespace = namespace || ""; - for (var i = 0, j = this.attributes.length; i < j; i++) { - if (this.attributes[i].getName() === name && this.attributes[i].getNamespace() === this.namespace) { - this.attributes.splice(i, 1); - break; - } - } - }, - /** - * @member XMLElement - * The removeChild() removes a child element. - * - * @param {XMLElement} child the the non-null child to be renoved - */ - removeChild: function(child) { - if (child) { - for (var i = 0, j = this.children.length; i < j; i++) { - if (this.children[i].equals(child)) { - this.children.splice(i, 1); - break; - } - } - } - }, - /** - * @member XMLElement - * The removeChildAtIndex() removes the child located at a certain index - * - * @param {int} index the index of the child, where the first child has index 0 - */ - removeChildAtIndex: function(index) { - if (this.children.length > index) { //make sure its not outofbounds - this.children.splice(index, 1); - } - }, - /** - * @member XMLElement - * The findAttribute() function searches an attribute - * - * @param {String} name fullName the non-null full name of the attribute - * @param {String} namespace the name space, which may be null - * - * @return {XMLAttribute} the attribute, or null if the attribute does not exist. - */ - findAttribute: function (name, namespace) { - this.namespace = namespace || ""; - for (var i = 0, j = this.attributes.length; i < j; i++) { - if (this.attributes[i].getName() === name && this.attributes[i].getNamespace() === this.namespace) { - return this.attributes[i]; - } - } - return null; - }, - /** - * @member XMLElement - * The setAttribute() function sets an attribute. - * - * @param {String} name the non-null full name of the attribute - * @param {String} namespace the non-null value of the attribute - */ - setAttribute: function() { - var attr; - if (arguments.length === 3) { - var index = arguments[0].indexOf(':'); - var name = arguments[0].substring(index + 1); - attr = this.findAttribute(name, arguments[1]); - if (attr) { - attr.setValue(arguments[2]); - } else { - attr = new XMLAttribute(arguments[0], name, arguments[1], arguments[2], "CDATA"); - this.attributes.push(attr); - } - } else { - attr = this.findAttribute(arguments[0]); - if (attr) { - attr.setValue(arguments[1]); - } else { - attr = new XMLAttribute(arguments[0], arguments[0], null, arguments[1], "CDATA"); - this.attributes.push(attr); - } + return; + } + + ajaxAsync(filename, callback); + } + + for (var i = 0; i < sourcesCount; ++i) { + loadBlock(i, sources[i]); + } + }; + + /** + * Automatic initialization function. + */ + var init = function() { + document.removeEventListener('DOMContentLoaded', init, false); + + // before running through init, clear the instances list, to prevent + // sketch duplication when page content is dynamically swapped without + // swapping out processing.js + processingInstances = []; + Processing.instances = processingInstances; + + var canvas = document.getElementsByTagName('canvas'), + filenames; + + for (var i = 0, l = canvas.length; i < l; i++) { + // datasrc and data-src are deprecated. + var processingSources = canvas[i].getAttribute('data-processing-sources'); + if (processingSources === null) { + // Temporary fallback for datasrc and data-src + processingSources = canvas[i].getAttribute('data-src'); + if (processingSources === null) { + processingSources = canvas[i].getAttribute('datasrc'); } - }, - /** - * Processing 1.5 XML API wrapper for the generic String - * attribute setter. This must take two arguments. - */ - setString: function(attribute, value) { - this.setAttribute(attribute, value); - }, - /** - * Processing 1.5 XML API wrapper for the generic int - * attribute setter. This must take two arguments. - */ - setInt: function(attribute, value) { - this.setAttribute(attribute, value); - }, - /** - * Processing 1.5 XML API wrapper for the generic float - * attribute setter. This must take two arguments. - */ - setFloat: function(attribute, value) { - this.setAttribute(attribute, value); - }, - /** - * @member XMLElement - * The setContent() function sets the #PCDATA content. It is an error to call this method with a - * non-null value if there are child objects. - * - * @param {String} content the (possibly null) content - */ - setContent: function(content) { - if (this.children.length > 0) { - Processing.debug("Tried to set content for XMLElement with children"); } - this.content = content; - }, - /** - * @member XMLElement - * The setName() function sets the full name. This method also sets the short name and clears the - * namespace URI. - * - * @param {String} name the non-null name - * @param {String} namespace the namespace URI, which may be null. - */ - setName: function() { - if (arguments.length === 1) { - this.name = arguments[0]; - this.fullName = arguments[0]; - this.namespace = null; - } else { - var index = arguments[0].indexOf(':'); - if ((arguments[1] === null) || (index < 0)) { - this.name = arguments[0]; + } + if (processingSources) { + filenames = processingSources.split(/\s+/g); + for (var j = 0; j < filenames.length;) { + if (filenames[j]) { + j++; } else { - this.name = arguments[0].substring(index + 1); + filenames.splice(j, 1); } - this.fullName = arguments[0]; - this.namespace = arguments[1]; - } - }, - /** - * @member XMLElement - * The getName() function returns the full name (i.e. the name including an eventual namespace - * prefix) of the element. - * - * @return {String} the name, or null if the element only contains #PCDATA. - */ - getName: function() { - return this.fullName; - }, - /** - * @member XMLElement - * The getLocalName() function returns the local name (i.e. the name excluding an eventual namespace - * prefix) of the element. - * - * @return {String} the name, or null if the element only contains #PCDATA. - */ - getLocalName: function() { - return this.name; - }, - /** - * @member XMLElement - * The getAttributeCount() function returns the number of attributes for the node - * that this XMLElement represents. - * - * @return {int} the number of attributes in this XMLElement - */ - getAttributeCount: function() { - return this.attributes.length; - }, - /** - * @member XMLElement - * The toString() function returns the XML definition of an XMLElement. - * - * @return {String} the XML definition of this XMLElement - */ - toString: function() { - // shortcut for text and cdata nodes - if (this.type === "TEXT") { - return this.content; } + loadSketchFromSources(canvas[i], filenames); + } + } - if (this.type === "CDATA") { - return this.cdata; - } + // also process all + + +

    Processing.js

    + + + + diff --git a/test.js b/test.js new file mode 100755 index 000000000..3177eba64 --- /dev/null +++ b/test.js @@ -0,0 +1,154 @@ +// runtime argument handling +argv = require("argv"), +argv.option({ + name: 'test', + type: 'string', + description: 'Run a single test, rather than all tests.', + example: "'node test --test=unittest.pde'" +}); +argv.option({ + name: 'nobuild', + type: 'string', + description: 'Do not build processing.js prior to running tests.', + example: "'node test --nobuild'" +}); +argv.option({ + name: 'failonerror', + type: 'string', + description: 'Stop running on the first error encountered', + example: "'node test --failonerror'" +}); +argv.option({ + name: 'noref', + type: 'string', + description: 'Do not perform reference testing in the browser after building processing.js', + example: "'node test --noref'" +}); +argv.option({ + name: 'noautoref', + type: 'string', + description: 'Open the reference test page after building processing.js, but do not autorun', + example: "'node test --noautoref'" +}); +argv = argv.run().options; + + +// nodejs requirements +var Browser = require('./lib/Browser'), + canvas = Browser.document.createElement("canvas"), + exec = require('child_process').exec, + fs = require("fs"), + open = require('open'), + testHarness = require("./lib/testHarness"), + unitDir = "./test/unit"; + +// script vars +var _passcount = 0, + _failcount = 0, + Processing = require('./src/')(Browser, testHarness); + + +/** + * Run a test from the unit test directory + */ +function runTest(dir, testName) { + var test, + sketch; + + // shortcut on not-pde-files, for now. + if (testName.indexOf(".pde")===-1) { + + // recurse dirs + if(fs.statSync(dir + testName).isDirectory()) { + runTests(dir + testName + "/"); + } + + return; + } + + // run test for this file. + test = fs.readFileSync(dir + testName, "utf-8"); + testHarness.prep(testName); + try { + sketch = new Processing(canvas, test, testHarness); + if(sketch._failCount > 0) { + throw "\n [one or more tests failed]"; + } + console.log("- " + testName + " passed."); + _passcount++; + } + catch (e) { + console.log(e); + if (!sketch) { + console.log("could not build sketch for " + testName); + } else { + console.log(" " + testName + " failed (" + sketch._failCount + " times)\n"); + } + _failcount++; + if (!argv.test && argv.failonerror) { + throw new Error("fail on error specified"); + } + } +} + +/** + * Run all tests from the unit test directory + */ +function runTests(dir, next) { + // scan unit test directory for tests to execute + dirContent = fs.readdirSync(dir); + try { + console.log(); + dirContent.forEach(function(file) { + runTest(dir, file); + }); + } catch (e) { + if(argv.failonerror) { + console.log("Failing on first error"); + } else { throw e; } + } + + if(next) { next(); } +} + +/** + * run the tests, either with or without building + */ +var postOp = function() { + console.log("\n"+_passcount+" tests passed, "+_failcount+" tests failed.\n"); + + if(_failcount===0 && !argv.nobuild) { + console.log("\nall tests pass: building processing.js..."); + exec('browserify build.js -o processing.js', function() { + console.log("build finished."); + console.log("minifying to processing.min.js"); + exec('node minify', function() { + console.log("finished"); + if(!argv.noref) { + console.log("\nStarting web server for reference testing..."); + console.log("Test server will terminate once all tests have run."); + exec('node server', function(error, stdout, stderr) { + var lines = stdout.split("\n"), + len = lines.length, + counts = lines[len-2].split(".").map(function(v) { return parseInt(v, 10); }), + failed = counts[0] + counts[1], + known = counts[1], + passed = counts[2]; + console.log("done - "+passed+" tests passed, "+failed+" tests failed (of which "+known+" known fails)."); + }); + // open reference tests in the browser and auto-run + open("http://localhost:3000/ref/" + (argv.noautoref ? '' : "?autorun=true")); + } + }); + }); + } +}; +if (argv.nobuild) { postOp = function(){}; } + +if (argv.test) { + console.log("running test " + argv.test); + runTest("./test/unit/", argv.test); +} else { + console.log("running tests..."); + runTests("./test/unit/", postOp); +} diff --git a/test/KNOWN-FAILURES b/test/KNOWN-FAILURES deleted file mode 100644 index ddd691d80..000000000 --- a/test/KNOWN-FAILURES +++ /dev/null @@ -1,15 +0,0 @@ -# List of tests known to fail. If you add a test, path must be from processing.js -# source dir (e.g., ./test) and must include the full path from test/ forward. You -# can temporarily remove a test from this list by commenting it out with a leading # -# and add comments explaining why a test has been added/commented out. - -# SimpleDateFormat -test/parser/Fry-Visualizing-Data/ch05-salaryper/step_08b_web/step_08b_web.pde -# test harness issue: Background image must be the same dimensions as the canvas. -test/parser/Processing-Book-001/Units 31-42/40 Image 5/_11/_11.pde -# createWriter (see #166) -test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/step_08c_graphviz.pde -test/parser/Processing-Book-001/Units 43-51/45 Output 2/_04/_04.pde -test/parser/Processing-Book-001/Units 43-51/45 Output 2/_05/_05.pde -# Uses code that isn't even supported by Processing -test/parser/Processing-Book-001/Extensions/Mobile/_07/_07.pde diff --git a/test/README b/test/README deleted file mode 100644 index e007c195c..000000000 --- a/test/README +++ /dev/null @@ -1,93 +0,0 @@ - === AUTOMATED TESTINTG =========================== - - 1. Setup and Install - 2. Running Tests - 3. Reference - - - 1 --- SETUP AND INSTALL -------------------------- - - Processing.js automated tests rely on a working JavaScript Shell. - The easiest way to do this is to build one from source. First you - will need a working Mozilla build environment: - - https://developer.mozilla.org/en/Build_Documentation - - Next, obtain the Firefox source code: - - $ hg clone http://hg.mozilla.org/mozilla-central - - Now configure and build the source (NOTE: use the appropriate - autoconf v 2.13 for your system, autoconf213, autoconf-2.13, etc.): - - $ cd mozilla-central/js/src - $ autoconf213 - $ mkdir opt-build - $ ../configure --disable-debug --enable-optimize - $ make - - This should produce a working JavaScript Shell at: - - mozilla-central/js/src/opt-build/js - - - Create an environment variable called JSSHELL that points to your - new JavaScript shell executable. - - For Example, in unix, edit your ~/.profile, ~/.bashrc, or ~/.bash_profile - and add the following - - export JSSHELL=/home/user/mozilla-central/objdir-release/dist/bin/js - - - 2 --- RUNNING TESTS ------------------------------ - - Once you have a working JS Shell, you can run tests and do other - tasks like so: - - 1) Run all tests (unit, parser): - - $ make check - - 2) Run only parser tests: - - $ make check-parser - - 3) Run only unit tests: - - $ make check-unit - - 4) Run only one test, or tests under a particular dir: - - $ make check-one TEST=/path/to/single/test.js - - or - - $ make check-one TEST=/path/to/dir/with/tests - - 5) Parse a Processing file into JavaScript: - - $ make /path/to/processing-pde-file.js - - For example, given /tmp/foo.pde (note the extension): - - $ make /tmp/foo.js - - 6) Create a release: - - $ make release - - 7) Clean out old release: - - $ make clean - - 8) Check Processing.js for errors (jslint): - - $ make check-lint - - - 3 --- REFERENCES ------------------------------ - - See https://processing-js.lighthouseapp.com/projects/41284/writing-automated-tests - for further documentation on testing and writing proper tests. - diff --git a/test/lint-notes.txt b/test/lint-notes.txt deleted file mode 100644 index 174be07e1..000000000 --- a/test/lint-notes.txt +++ /dev/null @@ -1,25 +0,0 @@ -NOTES FOR LINTING - -Use: http://jslint.com - -Errors Allowed: - -[ IGNORE THESE THREE LOOPS IN REGEX PARSER ] -Problem at line 126 character 10: Be careful when making functions within a loop. Consider putting the function in a closure. -Problem at line 224 character 10: Be careful when making functions within a loop. Consider putting the function in a closure. -Problem at line 231 character 10: Be careful when making functions within a loop. Consider putting the function in a closure. - -[ IGNORE THESE EVAL ERRORS ] -Problem at line 3272 character 17: eval is evil: eval( path ); -Problem at line 3384 character 15: eval is evil: eval(parsedCode); - -[ PROBLEMS WITH 'with(p)' ] -Lint at line 3374 character 11: Expected an identifier and instead saw 'with'. - -'with(p)' will not lint correctly and will halt the linting process. Please comment out the with block starting on line 3374 if -you wish to completely lint the processing.js source. - -Globals Allowed: - document - window - diff --git a/test/old/ref-tests/Biotyp.svg b/test/old/ref-tests/Biotyp.svg deleted file mode 100644 index 6b4508447..000000000 --- a/test/old/ref-tests/Biotyp.svg +++ /dev/null @@ -1,855 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/old/ref-tests/ajax.me b/test/old/ref-tests/ajax.me deleted file mode 100644 index 0945c83f3..000000000 --- a/test/old/ref-tests/ajax.me +++ /dev/null @@ -1,3 +0,0 @@ -255 -255 -0 diff --git a/test/old/ref-tests/arc_fill.gif b/test/old/ref-tests/arc_fill.gif deleted file mode 100644 index 0d273d00c4fc23321b5777c9fa94e2aabb990fa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 362 zcmV-w0hRtoNk%w1VKM+R0K@~0RW<109vI0A^8LV00000EC2ui05SkF000H&ASI4uX`X1RuB1eK&cV*KXbnqH z?R)K`00e_ato)85fCEx2B7Xy2)A^iP9+_#g$^v+_Q?BaL0Efk>h53vwA=d1+C}Dta zcXh!;)vcXAqafP8olg;Z@8Ly0_i1CEAmh>|^W7?zi40ECuu37VT?1)@f64yJN{ zqJ3PZ6LO{svZ4jGnhCg)1{b@I8+f7*!kPrdk_;BejUiGSiL$0IrS(y4s1f zt`vz8;Ua|%zU6=s>FRJC2g~K=YXQgeBW4f^?fBwT0T5*KM}kO)00Qn2EO9_V0Rqw% I;tK%)JIdFK{r~^~ diff --git a/test/old/ref-tests/ellipse.gif b/test/old/ref-tests/ellipse.gif deleted file mode 100644 index 159a6ce23c66d9a77cc0c54ee76f813bd1b023e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 757 zcmdUs>q}Ds0L9Pl-Mp@CIOn6LX_h+2ZPOf9np!q==7&P_ZLzY*G!@LKgv#!8o6~&F ze0`|Cq|tV#rEK97!WS5UWtoo(CXobLK}4uUru`S41HaGb$4N}mL`LPRpu!S>^^Jo3 zjUNIm1f%*2j`iSe5K8MX5e42FmZbRT19}E&ELL4$O~)$*zDUqq2u(lAb+Dx(-HMl? zSmPnF4-c|2FT+?gTvn0NjnAI=F2cJ&n69ET2O)E4Ex-zeKOEdYi5nFdjlsow#1G=D zJ4zbB{e_MbcoBxV5M(~YtQ_)LT(3m?dE8{M>;X0nvUylCkZMC)KCbC8twhabBtJsS z1tbh0!?I!Z-(=@1_up2KRU&J1R7GikCrkf^)5mirtq@A5i>lkSi#?B7LJ>W+{<$1d&f>G3CVFP z$;l&H2`W7AHESN>)T-Ue?uuQr_T;KB70$#e??mz<}0}cL3^FA%&KZ%A+kQ;tJ=JUuUNIO j2>S=H*_Ypyy>t2*eEa|8D{S%qnB0 diff --git a/test/old/ref-tests/green-square.gif b/test/old/ref-tests/green-square.gif deleted file mode 100644 index ddd53d6f93d02180b0e64e2c37b9a669a15bca25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108 zcmZ?wbhEHbG-5DfXkcVu_|NeF|9{1QA^}DDsmaB~nR)4YS;Y!L`N`SEiVQjoKmbz7 zz+~Lgzw-23{>5{)-0I$ZZ_jW3wnrY*o^>vJb!yu??&F_)u7B%&{_EWLfBZaL?MD`U M?C{Z2XJxPk0N^4oNB{r; diff --git a/test/old/ref-tests/index.html b/test/old/ref-tests/index.html deleted file mode 100644 index 0ef93b770..000000000 --- a/test/old/ref-tests/index.html +++ /dev/null @@ -1,361 +0,0 @@ - - - - - -Processing.js Benchmarks - - - - - -

    Processing.js Benchmarks

    -

    All Canvas elements should render green

    - -

    set() pixel

    - -

    - -

    get() pixel

    - -

    - - -

    get() pixels

    - -

    - - -

    updatePixels()

    - -

    - -

    background()
    as image

    - -

    - -

    loadImage()

    - -

    - -

    text()

    - -

    - - - - - - - -

    background

    - -

    - - -

    stroke

    - -

    - - -

    noStroke

    - -

    - -

    fill

    - -

    - -

    noFill

    - -

    - -

    ellipse

    - -

    - -

    loadStrings

    - -

    - - -

    color #HEX

    - -

    - - -

    color rgb()

    - -

    - - -

    color rgba()

    - -

    - -

    red()

    - -

    - - -

    green()

    - -

    - - -

    blue()

    - -

    - -

    alpha()

    - -

    - -

    lerp

    - -

    - -

    lerpColor

    - -

    - - -

    arc with fill

    - -

    - - - - diff --git a/test/old/ref-tests/obama_smoking.jpg b/test/old/ref-tests/obama_smoking.jpg deleted file mode 100644 index 8059efc274e20745e49959bcf8cc31acdfa7da79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1124 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<u0;Sg7FI?kc4iKstcd^v z6C*PtD?1YlJ46X16Eg#gAS;`YqM;+Zut;EG<3y!IWh1AHV#YziNkt0}0(D6-GN2g= zGLe~q4Jaos2(%AmBiuelCI&%f79mAp!$8OXw-|VUQcQx(f(-TyPlG%*9y@ouK~(6T zW~p|A#8kfytLuC3_iErIzpBuC=c7($>o8TP_e`@tzMR$NnVw!j~Po$u930lB{|rhabCk^YHMguxpHObS$&gD-G)%dle@T((^O>OsPn^Af;;;8gj@8$1tlVmq6IR}7yGiMw z!a>1L;W7t5owuL0@c1Ra%=z&*UkX0oy*!!07?~*8ZX2fxRt5t0L zt$PdicsD#S;4wdV(AGWXGQ%m9@BwcE`vRaQD=Ho_zY*$|&x=mK!tmzNmM&v%LHLGi?45 zr`wvPIR_h0q&(70N_xMraOPR3&Xo_&9pgT&-JF?_+QX>xbbImqQ(h~N@6%fFqH5}z ze3gQOm3a?VR(oD6{d`X3NwVZ4?bzgywy#bu>wj+VwzT}Rs`23VcDB#2{Y)o!O>z|$ zers?3;>OIAHl0UByEHmX*6q4tWS*e@cYoH_8@0=0XWkOsv8($?=6CHoafjT>AFFpB z58{`fZxzYbP#AULtFchH+}!{FUKx36v5FRi=6r^fW4+R+&w`ux)D-JaR~+j4yCY~MvM?=Gn5F!B5L z>hjAS)0_gHHvDn%Ntj^#Rj&S9Q?BBvYa+APu-ZJ@b@xoR*UPiNDUz`}b-ZCv|ZrCHNP%D|N-apZ%*> z^o~!TQ}(s~tFEF;mP}51GyU7Sp3rG23e8P?AJ)CTb3A+TvnY(a1!TMO|7c{{L?R0C%0i" + - "Failed: " + reftest.failed + " (" + reftest.failrate + ")
    " + - "Fails:
    " + - (function(){ - var fails = "
      "; - for(var i in reftest.testlist){ - if( reftest.testlist[i].failed ){ - fails += "
    • " + reftest.testlist[i].name + "
    • "; - } - } - fails += "
    "; - return fails; - })(); diff --git a/test/old/unit-tests/expand b/test/old/unit-tests/expand deleted file mode 100644 index d0c4bf45b..000000000 --- a/test/old/unit-tests/expand +++ /dev/null @@ -1,37 +0,0 @@ -/* - Processing.js Ref Test - Function : expand() - Source : http://processing.org/reference/expand_ -*/ - - - int[] data = {0, 1, 3, 4}; - int a = data.length; // Prints "4" - data = expand(data); - int b = data.length; // Prints "8" - data = expand(data, 512); - int c = data.length; // Prints "512" - - int d, e; - - // PImage not fully implemented -F1LT3R - /* - PImage[] imgs = new PImage[32]; - int d = imgs.length; // Prints "32" - imgs = (PImage[]) expand(imgs); - int e =imgs.length; // Prints "64" - */ - - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - a === 4, - b === 8, - c === 512, - //d === 32, - //e === 64, - ]) -); -exit(); - diff --git a/test/old/unit-tests/index.html b/test/old/unit-tests/index.html deleted file mode 100644 index 0f2764718..000000000 --- a/test/old/unit-tests/index.html +++ /dev/null @@ -1,31 +0,0 @@ - - - - - -
    - - -
    - - - - - - - -
    - - - - diff --git a/test/old/unit-tests/join b/test/old/unit-tests/join deleted file mode 100644 index d694f8f43..000000000 --- a/test/old/unit-tests/join +++ /dev/null @@ -1,36 +0,0 @@ -/* - Processing.js Ref Test - Function : join() - Source : http://processing.org/reference/join_ -*/ - -String[] animals = new String[3]; -animals[0] = "cat"; -animals[1] = "seal"; -animals[2] = "bear"; -String joinedAnimals = join(animals, " : "); -//console.log(joinedAnimals); // Prints "cat : seal : bear" - -// Joining an array of ints requires first -// converting to an array of Strings -int[] numbers = new int[3]; -numbers[0] = 8; -numbers[1] = 67; -numbers[2] = 5; - -// An array should be returned from nf(numbers,0). This is breaks the join test. -try{ - String joinedNumbers = join( nf(numbers, 0), ", "); -}catch( e ){} -//console.log( joinedNumbers ); // Prints "8, 67, 5" - - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - joinedAnimals === "cat : seal : bear", - joinedNumbers === "8, 67, 5" - ]) -); -exit(); - diff --git a/test/old/unit-tests/rect b/test/old/unit-tests/rect deleted file mode 100644 index 9f931a654..000000000 --- a/test/old/unit-tests/rect +++ /dev/null @@ -1,18 +0,0 @@ -/* - Processing.js Ref Test - Function : rect() - Source : F1LT3R -*/ - -//** SET PIXELS SIZE *// -size( 20, 20 ); // This must be set for tests using checkPixels(); -//********************// - -fill( #00FF00 ); -rect( -3, -3, 26, 26 ); - - -//** REFTEST PIXELS **// -background( reftest.checkPixels() ); -exit(); -//********************// diff --git a/test/old/unit-tests/reftest.lib b/test/old/unit-tests/reftest.lib deleted file mode 100644 index 03122c151..000000000 --- a/test/old/unit-tests/reftest.lib +++ /dev/null @@ -1,71 +0,0 @@ -// Lib for reftesting -(function(){ - - Processing.lib.reftest = { - - testlist : [], - passed : 0, - failed : 0, - passrate : 0, - failrate : 0, - - postResultsURL : "http://...", - - // Check functions that change values - checkValues: function( p, checks ){ - - var passed = 0; - var name = p.curContext.canvas.getAttribute( 'datasrc' ); - p.curContext.canvas.title = name; - - for(var i in checks){ - passed += checks[ i ]; - }; - var failed = i - passed + 1; - - this.passed += !failed; - this.failed += !!failed; - this.passrate += passed; - this.failrate += failed; - - this.testlist[ this.testlist.length ] = { - name: name, - passed: passed, - failed: failed - } - - return failed ? "#FF0000" : "#00FF00"; - - }, - - // Check functions that change pixels - checkPixels: function( p ){ - - p.loadPixels(); - var passed = 0; - var name = p.curContext.canvas.getAttribute( 'datasrc' ); - p.curContext.canvas.title = name; - - for(var i in p.pixels){ - passed += p.pixels[ i ] == "rgba(0,255,0,255)"; - } - var failed = i - passed + 1; - - this.passed += !failed; - this.failed += !!failed; - this.passrate += passed; - this.failrate += failed; - - this.testlist[ this.testlist.length ] = { - name: name, - passed: passed, - failed: failed - } - - return failed ? "#FF0000" : "#00FF00"; - - } - - }; - -})(); diff --git a/test/old/unit-tests/shorten b/test/old/unit-tests/shorten deleted file mode 100644 index 2953ab12b..000000000 --- a/test/old/unit-tests/shorten +++ /dev/null @@ -1,25 +0,0 @@ -/* - Processing.js Ref Test - Function : shorten() - Source : http://processing.org/reference/shorten_ -*/ - - -String[] sa1 = { "OH ", "NY ", "CA "}; -String[] sa2 = shorten(sa1); -//println(sa1); // sa1 still contains OH, NY, CA -//println(sa2); // sa2 now contains OH, NY - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - sa1[0] === "OH ", - sa1[1] === "NY ", - sa1[2] === "CA ", - // Need to add tests to handle arrays of objects - sa2[0] === "OH ", - sa2[1] === "NY " - ]) -); -exit(); - diff --git a/test/old/unit-tests/splice b/test/old/unit-tests/splice deleted file mode 100644 index d6a39b9f9..000000000 --- a/test/old/unit-tests/splice +++ /dev/null @@ -1,34 +0,0 @@ -/* - Processing.js Ref Test - Function : splice() - Source : http://processing.org/reference/splice_ -*/ - - -String[] sa1 = { "OH", "NY", "CA" }; -sa1 = splice(sa1, "KY", 1); - -String[] sa2 = { "VA", "CO", "IL" }; -sa2 = splice(sa1, sa2, 2); - - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - sa1[0] === "OH", - sa1[1] === "KY", - sa1[2] === "NY", - sa1[3] === "CA", - - sa2[0] === "OH", - sa2[1] === "KY", - sa2[2] === "VA", - sa2[3] === "CO", - sa2[4] === "IL", - sa2[5] === "NY", - sa2[6] === "CA" - // need checks for other 'types' - ]) -); -exit(); - diff --git a/test/old/unit-tests/split b/test/old/unit-tests/split deleted file mode 100644 index 0c9d2c9e0..000000000 --- a/test/old/unit-tests/split +++ /dev/null @@ -1,37 +0,0 @@ -/* - Processing.js Ref Test - Function : split() - Source : http://processing.org/reference/split_ -*/ - - -String men = "Chernenko,Andropov,Brezhnev"; -String[] list = split(men, ','); -// list[0] is now Chernenko, list[1] is Andropov, ... - -String numbers = "8 67 5 309"; -int[] nums = int(split(numbers, ' ')); -// nums[0] is now 8, nums[1] is now 67, ... - -// nums is broken... but this works: int[] nums = split(numbers, ' '); -// even though that works, nums should be returning an Int not a String - -String men2 = "Chernenko ] Andropov ] Brezhnev"; -String[] list2 = split(men2, " ] "); -// list[0] is now Chernenko, list[1] is Andropov, .. - -//** REFTEST VALUES **// - - -background( - reftest.checkValues(p, [ - list[0] === "Chernenko", - list[1] === "Andropov", - nums[0] === 8, - nums[1] === 67, - list2[0] === "Chernenko", - list2[1] === "Andropov" - ]) -); -exit(); - diff --git a/test/old/unit-tests/splitTokens b/test/old/unit-tests/splitTokens deleted file mode 100644 index 385889b60..000000000 --- a/test/old/unit-tests/splitTokens +++ /dev/null @@ -1,24 +0,0 @@ -/* - Processing.js Ref Test - Function : splitTokens() - Source : http://processing.org/reference/splitTokens_ -*/ - -String t = "a b"; -String[] q = splitTokens(t); -String s = "a, b c ,,d "; -String[] p = splitTokens(s, ", "); // string passed should be treated as an array -F1LT3R - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - q[0] === "a", - q[1] === "b", - s[0] === "a", - s[1] === "b", - s[2] === "c", - s[3] === "d", - ]) -); -exit(); - diff --git a/test/old/unit-tests/subset b/test/old/unit-tests/subset deleted file mode 100644 index 21fe6c6b5..000000000 --- a/test/old/unit-tests/subset +++ /dev/null @@ -1,36 +0,0 @@ -/* - Processing.js Ref Test - Function : subset() - Source : http://processing.org/reference/subset_ -*/ - - -String[] sa1 = { "OH ", "NY ", "CA ", "VA ", "CO ", "IL "}; -String[] sa2 = subset(sa1, 1); -String[] sa3 = subset(sa1, 2, 3); - - -//** REFTEST VALUES **// -background( - reftest.checkValues([ - sa1[0] === "OH ", - sa1[1] === "NY ", - sa1[2] === "CA ", - sa1[3] === "VA ", - sa1[4] === "CO ", - sa1[5] === "IL ", - - sa2[0] === "NY ", - sa2[1] === "CA ", - sa2[2] === "VA ", - sa2[3] === "CO ", - sa2[4] === "IL ", - - sa3[0] === "CA ", - sa3[1] === "VA ", - sa3[2] === "CO " - // need checks for other 'types' - ]) -); -exit(); - diff --git a/test/old/unit-tests/test.lib b/test/old/unit-tests/test.lib deleted file mode 100644 index 5998940f6..000000000 --- a/test/old/unit-tests/test.lib +++ /dev/null @@ -1 +0,0 @@ -Processing.libs.retest diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step00_show_map/step00_show_map.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step00_show_map/step00_show_map.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/step01_fig1_red_dots.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step01_fig1_red_dots/step01_fig1_red_dots.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/step02_fig2_varying_sizes.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step02_fig2_varying_sizes/step02_fig2_varying_sizes.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/step03_fig3_red_to_blue.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step03_fig3_red_to_blue/step03_fig3_red_to_blue.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/step04_fig4_blue_green.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step04_fig4_blue_green/step04_fig4_blue_green.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/step05_fig5_blue_green_hsb.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step05_fig5_blue_green_hsb/step05_fig5_blue_green_hsb.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/step06_fig6_two_sided_range.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step06_fig6_two_sided_range/step06_fig6_two_sided_range.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/step07_fig7_two_sided_alpha.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step07_fig7_two_sided_alpha/step07_fig7_two_sided_alpha.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/step08_rollovers.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step08_rollovers/step08_rollovers.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/step09_rollovers_full_names.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step09_rollovers_full_names/step09_rollovers_full_names.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/step10_single_rollover.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step10_single_rollover/step10_single_rollover.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/step11_randomize_on_keypress.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step11_randomize_on_keypress/step11_randomize_on_keypress.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/step12_randomize_with_nfp.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step12_randomize_with_nfp/step12_randomize_with_nfp.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/step13_randomize_from_cgi.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step13_randomize_from_cgi/step13_randomize_from_cgi.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Integrator.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Integrator.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/step14_integrators.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step14_integrators/step14_integrators.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Integrator.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Integrator.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/step15_framerate.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step15_framerate/step15_framerate.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Integrator.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Integrator.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/step16_lethargic.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step16_lethargic/step16_lethargic.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Integrator.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Integrator.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Table.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/Table.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/step17_bouncy.pde b/test/parser/Fry-Visualizing-Data/ch03-usmap/step17_bouncy/step17_bouncy.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/figure_01_just_points.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_01_just_points/figure_01_just_points.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/figure_02_plot_title.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_02_plot_title/figure_02_plot_title.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/figure_05_ylabels_and_ticks.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_05_ylabels_and_ticks/figure_05_ylabels_and_ticks.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/figure_06_finalish.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_06_finalish/figure_06_finalish.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07a_shape_noFill/figure_07a_shape_noFill.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07a_shape_noFill/figure_07a_shape_noFill.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07b_shape_fill/figure_07b_shape_fill.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07b_shape_fill/figure_07b_shape_fill.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07c_shape_close/figure_07c_shape_close.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_07c_shape_close/figure_07c_shape_close.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/figure_08_draw_data_line.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_08_draw_data_line/figure_08_draw_data_line.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/figure_09_draw_data_mixed.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_09_draw_data_mixed/figure_09_draw_data_mixed.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/figure_10_rollovers.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_10_rollovers/figure_10_rollovers.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/figure_11_curve.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_11_curve/figure_11_curve.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/figure_12_area.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_12_area/figure_12_area.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/figure_13_reversed.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_13_reversed/figure_13_reversed.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/figure_14_bar_chart.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_14_bar_chart/figure_14_bar_chart.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/figure_15_tabs.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/figure_15_tabs/figure_15_tabs.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/step_16_tabs_images.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_16_tabs_images/step_16_tabs_images.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/FloatTable.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/FloatTable.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/Integrator.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/Integrator.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/step_17_interpolate.pde b/test/parser/Fry-Visualizing-Data/ch04-milkteacoffee/step_17_interpolate/step_17_interpolate.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch05-salaryper/step_08b_web/step_08b_web.pde b/test/parser/Fry-Visualizing-Data/ch05-salaryper/step_08b_web/step_08b_web.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Place.pde b/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Place.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Slurper.pde b/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/Slurper.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/data/zips.gz b/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/data/zips.gz old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/round_09c_focus_handling.pde b/test/parser/Fry-Visualizing-Data/ch06-zipdecode/round_09c_focus_handling/round_09c_focus_handling.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordItem.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordItem.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordMap.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/WordMap.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/equator_03b.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/equator_03b/equator_03b.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/Node.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/Node.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/file_tree_queue_08b.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/file_tree_queue_08b/file_tree_queue_08b.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FileItem.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FileItem.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FolderItem.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/FolderItem.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/RankedLongArray.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/RankedLongArray.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/filetreemap_06b.pde b/test/parser/Fry-Visualizing-Data/ch07-hierarchies/filetreemap_06b/filetreemap_06b.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Edge.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Edge.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Node.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/Node.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/step_06c_variable_size_nodes.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_06c_variable_size_nodes/step_06c_variable_size_nodes.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Edge.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Edge.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Node.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/Node.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/step_07c_save_pdf.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_07c_save_pdf/step_07c_save_pdf.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Edge.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Edge.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Node.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/Node.pde old mode 100644 new mode 100755 diff --git a/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/step_08c_graphviz.pde b/test/parser/Fry-Visualizing-Data/ch08-graphlayout/step_08c_graphviz/step_08c_graphviz.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix D/_01/_01.pde b/test/parser/Processing-Book-001/Appendixes/Appendix D/_01/_01.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_01/_01.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_01/_01.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_02/_02.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_02/_02.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_03/_03.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_03/_03.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_04/_04.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_04/_04.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_05/_05.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_05/_05.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_06/_06.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_06/_06.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_07/_07.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_07/_07.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_08/_08.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_08/_08.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_09/_09.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_09/_09.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Appendixes/Appendix E/_10/_10.pde b/test/parser/Processing-Book-001/Appendixes/Appendix E/_10/_10.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Extensions/Vision/_02/_02.pde b/test/parser/Processing-Book-001/Extensions/Vision/_02/_02.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_022/page_022.pde b/test/parser/Processing-Book-001/Illustrations/page_022/page_022.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_042/page_042.pde b/test/parser/Processing-Book-001/Illustrations/page_042/page_042.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_060/page_060.pde b/test/parser/Processing-Book-001/Illustrations/page_060/page_060.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_078/page_078.pde b/test/parser/Processing-Book-001/Illustrations/page_078/page_078.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_094/page_094.pde b/test/parser/Processing-Book-001/Illustrations/page_094/page_094.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Illustrations/page_xx/page_xx.pdf b/test/parser/Processing-Book-001/Illustrations/page_xx/page_xx.pdf old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_01_collage/_01_collage/_01_collage.pde b/test/parser/Processing-Book-001/Synthesis/_01_collage/_01_collage/_01_collage.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_01_collage/_02_collage/_02_collage.pde b/test/parser/Processing-Book-001/Synthesis/_01_collage/_02_collage/_02_collage.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_02_waves/_01_waves/_01_waves.pde b/test/parser/Processing-Book-001/Synthesis/_02_waves/_01_waves/_01_waves.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_02_waves/_02_waves/_02_waves.pde b/test/parser/Processing-Book-001/Synthesis/_02_waves/_02_waves/_02_waves.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_02_waves/_03_waves/_03_waves.pde b/test/parser/Processing-Book-001/Synthesis/_02_waves/_03_waves/_03_waves.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_02_waves/_04_waves/_04_waves.pde b/test/parser/Processing-Book-001/Synthesis/_02_waves/_04_waves/_04_waves.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_02_waves/_05_waves/_05_waves.pde b/test/parser/Processing-Book-001/Synthesis/_02_waves/_05_waves/_05_waves.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_03_grids/_01_grids/_01_grids.pde b/test/parser/Processing-Book-001/Synthesis/_03_grids/_01_grids/_01_grids.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_03_grids/_02_grids/_02_grids.pde b/test/parser/Processing-Book-001/Synthesis/_03_grids/_02_grids/_02_grids.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_03_grids/_03_grids/_03_grids.pde b/test/parser/Processing-Book-001/Synthesis/_03_grids/_03_grids/_03_grids.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_03_grids/_04_grids/_04_grids.pde b/test/parser/Processing-Book-001/Synthesis/_03_grids/_04_grids/_04_grids.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_03_grids/_05_grids/_05_grids.pde b/test/parser/Processing-Book-001/Synthesis/_03_grids/_05_grids/_05_grids.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_05_tennis/_05_tennis.pde b/test/parser/Processing-Book-001/Synthesis/_05_tennis/_05_tennis.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_07_typing/_07_typing.pde b/test/parser/Processing-Book-001/Synthesis/_07_typing/_07_typing.pde old mode 100644 new mode 100755 diff --git a/test/parser/Processing-Book-001/Synthesis/_08_clock/_08_clock.pde b/test/parser/Processing-Book-001/Synthesis/_08_clock/_08_clock.pde old mode 100644 new mode 100755 diff --git a/test/parser/arrayInit/1.pde b/test/parser/arrayInit/1.pde old mode 100644 new mode 100755 diff --git a/test/parser/arrayInit/2.pde b/test/parser/arrayInit/2.pde old mode 100644 new mode 100755 diff --git a/test/parser/arrayInit/3.pde b/test/parser/arrayInit/3.pde old mode 100644 new mode 100755 diff --git a/test/parser/arrays.pde b/test/parser/arrays.pde old mode 100644 new mode 100755 diff --git a/test/parser/commentStringOrder.pde b/test/parser/commentStringOrder.pde old mode 100644 new mode 100755 diff --git a/test/parser/functionCtorNames.pde b/test/parser/functionCtorNames.pde old mode 100644 new mode 100755 diff --git a/test/parser/interface.pde b/test/parser/interface.pde old mode 100644 new mode 100755 diff --git a/test/parser/js-extra-semi.pde b/test/parser/js-extra-semi.pde old mode 100644 new mode 100755 diff --git a/test/parser/js-no-semi.pde b/test/parser/js-no-semi.pde old mode 100644 new mode 100755 diff --git a/test/parser/minified.pde b/test/parser/minified.pde old mode 100644 new mode 100755 diff --git a/test/parser/multiLineComment.pde b/test/parser/multiLineComment.pde old mode 100644 new mode 100755 diff --git a/test/parser/newline.pde b/test/parser/newline.pde old mode 100644 new mode 100755 diff --git a/test/parser/pie-chart.pde b/test/parser/pie-chart.pde old mode 100644 new mode 100755 diff --git a/test/parser/pixels.pde b/test/parser/pixels.pde old mode 100644 new mode 100755 diff --git a/test/parser/pjs-directive.pde b/test/parser/pjs-directive.pde old mode 100644 new mode 100755 diff --git a/test/parser/shiffman-test.pde b/test/parser/shiffman-test.pde old mode 100644 new mode 100755 diff --git a/test/parser/staticClass.pde b/test/parser/staticClass.pde old mode 100644 new mode 100755 diff --git a/test/parser/staticMethod.pde b/test/parser/staticMethod.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/0.pde b/test/parser/stringParsing/doubleQuotedStrings/0.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/1.pde b/test/parser/stringParsing/doubleQuotedStrings/1.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/10.pde b/test/parser/stringParsing/doubleQuotedStrings/10.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/11.pde b/test/parser/stringParsing/doubleQuotedStrings/11.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/2.pde b/test/parser/stringParsing/doubleQuotedStrings/2.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/3.pde b/test/parser/stringParsing/doubleQuotedStrings/3.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/4.pde b/test/parser/stringParsing/doubleQuotedStrings/4.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/5.pde b/test/parser/stringParsing/doubleQuotedStrings/5.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/6.pde b/test/parser/stringParsing/doubleQuotedStrings/6.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/7.pde b/test/parser/stringParsing/doubleQuotedStrings/7.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/8.pde b/test/parser/stringParsing/doubleQuotedStrings/8.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/doubleQuotedStrings/9.pde b/test/parser/stringParsing/doubleQuotedStrings/9.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/0.pde b/test/parser/stringParsing/singleQuotedStrings/0.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/1.pde b/test/parser/stringParsing/singleQuotedStrings/1.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/10.pde b/test/parser/stringParsing/singleQuotedStrings/10.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/11.pde b/test/parser/stringParsing/singleQuotedStrings/11.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/2.pde b/test/parser/stringParsing/singleQuotedStrings/2.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/3.pde b/test/parser/stringParsing/singleQuotedStrings/3.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/4.pde b/test/parser/stringParsing/singleQuotedStrings/4.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/5.pde b/test/parser/stringParsing/singleQuotedStrings/5.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/6.pde b/test/parser/stringParsing/singleQuotedStrings/6.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/7.pde b/test/parser/stringParsing/singleQuotedStrings/7.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/8.pde b/test/parser/stringParsing/singleQuotedStrings/8.pde old mode 100644 new mode 100755 diff --git a/test/parser/stringParsing/singleQuotedStrings/9.pde b/test/parser/stringParsing/singleQuotedStrings/9.pde old mode 100644 new mode 100755 diff --git a/test/parser/tabs.pde b/test/parser/tabs.pde old mode 100644 new mode 100755 diff --git a/test/parser/ticket1018.pde b/test/parser/ticket1018.pde old mode 100644 new mode 100755 diff --git a/test/parser/ticket1674.pde b/test/parser/ticket1674.pde old mode 100644 new mode 100755 diff --git a/test/parser/ticket1688.pde b/test/parser/ticket1688.pde old mode 100644 new mode 100755 diff --git a/test/parser/ticket870.pde b/test/parser/ticket870.pde old mode 100644 new mode 100755 diff --git a/test/perf/8-pointLights-sphere.pde b/test/perf/8-pointLights-sphere.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-create.pde b/test/perf/PMatrix3D-create.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-invert.pde b/test/perf/PMatrix3D-invert.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-multX.pde b/test/perf/PMatrix3D-multX.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-reset.pde b/test/perf/PMatrix3D-reset.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-rotate.pde b/test/perf/PMatrix3D-rotate.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-rotateX.pde b/test/perf/PMatrix3D-rotateX.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-rotateY.pde b/test/perf/PMatrix3D-rotateY.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-rotateZ.pde b/test/perf/PMatrix3D-rotateZ.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-scale.pde b/test/perf/PMatrix3D-scale.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-set.pde b/test/perf/PMatrix3D-set.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-translate.pde b/test/perf/PMatrix3D-translate.pde old mode 100644 new mode 100755 diff --git a/test/perf/PMatrix3D-transpose.pde b/test/perf/PMatrix3D-transpose.pde old mode 100644 new mode 100755 diff --git a/test/perf/alpha-transparency-mask.pde b/test/perf/alpha-transparency-mask.pde old mode 100644 new mode 100755 diff --git a/test/perf/arc.pde b/test/perf/arc.pde old mode 100644 new mode 100755 diff --git a/test/perf/arch-100.jpg b/test/perf/arch-100.jpg old mode 100644 new mode 100755 diff --git a/test/perf/background-3D.pde b/test/perf/background-3D.pde old mode 100644 new mode 100755 diff --git a/test/perf/background.pde b/test/perf/background.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-add.pde b/test/perf/blendcolor-add.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-blend.pde b/test/perf/blendcolor-blend.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-burn.pde b/test/perf/blendcolor-burn.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-darkest.pde b/test/perf/blendcolor-darkest.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-difference.pde b/test/perf/blendcolor-difference.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-dodge.pde b/test/perf/blendcolor-dodge.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-exclusion.pde b/test/perf/blendcolor-exclusion.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-hard_light.pde b/test/perf/blendcolor-hard_light.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-lightest.pde b/test/perf/blendcolor-lightest.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-multiply.pde b/test/perf/blendcolor-multiply.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-overlay.pde b/test/perf/blendcolor-overlay.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-screen.pde b/test/perf/blendcolor-screen.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-soft_light.pde b/test/perf/blendcolor-soft_light.pde old mode 100644 new mode 100755 diff --git a/test/perf/blendcolor-subtract.pde b/test/perf/blendcolor-subtract.pde old mode 100644 new mode 100755 diff --git a/test/perf/box-3D.pde b/test/perf/box-3D.pde old mode 100644 new mode 100755 diff --git a/test/perf/box-noFill-3D.pde b/test/perf/box-noFill-3D.pde old mode 100644 new mode 100755 diff --git a/test/perf/box-nostroke-3D.pde b/test/perf/box-nostroke-3D.pde old mode 100644 new mode 100755 diff --git a/test/perf/construct.jpg b/test/perf/construct.jpg old mode 100644 new mode 100755 diff --git a/test/perf/createImage.pde b/test/perf/createImage.pde old mode 100644 new mode 100755 diff --git a/test/perf/directionalLight-sphere-100.pde b/test/perf/directionalLight-sphere-100.pde old mode 100644 new mode 100755 diff --git a/test/perf/directionalLight-sphere-50.pde b/test/perf/directionalLight-sphere-50.pde old mode 100644 new mode 100755 diff --git a/test/perf/empty-baseline.pde b/test/perf/empty-baseline.pde old mode 100644 new mode 100755 diff --git a/test/perf/get-3d.pde b/test/perf/get-3d.pde old mode 100644 new mode 100755 diff --git a/test/perf/get.pde b/test/perf/get.pde old mode 100644 new mode 100755 diff --git a/test/perf/image-fractional-coords.pde b/test/perf/image-fractional-coords.pde old mode 100644 new mode 100755 diff --git a/test/perf/image-whole-coords.pde b/test/perf/image-whole-coords.pde old mode 100644 new mode 100755 diff --git a/test/perf/index.html b/test/perf/index.html old mode 100644 new mode 100755 index 2d766ea51..0b760dbc7 --- a/test/perf/index.html +++ b/test/perf/index.html @@ -18,6 +18,8 @@

    Processing.js Performance Test Runner

    To start the tests click Start. Each test is run in order (downloaded from the server). Tests are run for a maximum number of frames (specified below), and the time recorded.

    +

    Reference tests can be run from here. +

    Settings

    Run Tests:  
    -

    Results [total time for all tests: 0ms]

    +

    Results [total time for 0 tests: 0ms]

    @@ -79,6 +81,9 @@

    Results [total time for all tests: 0ms]

    Processing.js

    dyM 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 diff --git a/examples/seneca/pimage/set.htm b/examples/seneca/pimage/set.htm deleted file mode 100644 index 81eb4f152..000000000 --- a/examples/seneca/pimage/set.htm +++ /dev/null @@ -1,10 +0,0 @@ - - -