From 5414a43ab5107322660756375c4cc36dd7064f27 Mon Sep 17 00:00:00 2001 From: kroko Date: Fri, 16 May 2014 19:22:27 +0300 Subject: [PATCH 01/14] correction for the relative path to load processing.js in lib --- lib/processing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/processing.js b/lib/processing.js index bad7a5f..4afed1c 100644 --- a/lib/processing.js +++ b/lib/processing.js @@ -16,7 +16,7 @@ var fs = require('fs') , navigator = window.navigator , HTMLImageElement = window.HTMLImageElement , noop = function() {} - , processing = fs.readFileSync('./deps/processing-js/processing.js'); + , processing = fs.readFileSync(__dirname+'/../deps/processing-js/processing.js'); /** * Expose `version`. From 974a286d9db85254dd8a697be9c3ef259aa934b1 Mon Sep 17 00:00:00 2001 From: kroko Date: Fri, 16 May 2014 19:56:15 +0300 Subject: [PATCH 02/14] referenced the submodule to the newest processingjs (1.4.8) --- deps/processing-js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deps/processing-js b/deps/processing-js index 308591d..2c88a18 160000 --- a/deps/processing-js +++ b/deps/processing-js @@ -1 +1 @@ -Subproject commit 308591d05db8be7e9a6ea0ea1f9ca1fb304e4e89 +Subproject commit 2c88a18fcd10951bd84008a5c2ebd996fe873042 From ddcb76dc12199559c0aecf8e1d99823dbbe3b780 Mon Sep 17 00:00:00 2001 From: kroko Date: Fri, 16 May 2014 21:35:18 +0300 Subject: [PATCH 03/14] reflect changes between upgrade from 1.4.1 to 1.4.8, this breaks nulltask example --- lib/processing.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/processing.js b/lib/processing.js index 4afed1c..c30e22b 100644 --- a/lib/processing.js +++ b/lib/processing.js @@ -57,7 +57,7 @@ eval('(function(window, document) {' * Expose `Processing`. */ -exports.Processing = Processing; +exports.Processing = window.Processing; /** * Return processing instance. From ed0e00937d9aedfc0e44bd0e462f33d37ff26908 Mon Sep 17 00:00:00 2001 From: kroko Date: Fri, 16 May 2014 21:39:53 +0300 Subject: [PATCH 04/14] added compile example, that could be incorporated into Grunt webapp pack-and-go workflow --- Readme.md | 39 +++++++++++++++++++++++++++++++++++++ examples/compile/compile.js | 33 +++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 examples/compile/compile.js diff --git a/Readme.md b/Readme.md index dbb17ee..e653a4c 100644 --- a/Readme.md +++ b/Readme.md @@ -27,6 +27,45 @@ fs.readFile(sketch, function(err, data) { }); ``` +## Usage + +```javascript +// Compile processing code into javascript, so it can be used in a LAMP webapp more effectively (no p5 lang parsing step by client needed) +// Intended to use with Grunt when developing and deploying web applications +// contribution by kroko.me + +var fs = require('fs'); +var p5 = require('processing'); +if (process.argv.length != 5) { + console.log("Usage: node compile.js "); + process.exit(code = 1); +} +else { + console.log("Reading file: " + process.argv[2]); + console.log("Output will be: " + process.argv[3]); + console.log("Variable will be: " + process.argv[4]); +} +console.log("Compiling sketch..."); + +fs.readFile(process.argv[2], function(err, data) { + var compiled = p5.Processing.compile(data.toString('utf-8')); + compiled = "var " + process.argv[4] + " = " + compiled + ";"; + fs.writeFile(process.argv[3], compiled, function(err) { + if (err) { + console.log(err); + } else { + console.log("...done!"); + } + }); +}); + +// Usage in web +// var domCanvas = document.getElementById('id-of-canvas-dom-element'); +// pjsPtr = new Processing(domCanvas, valiable-name-as-passed-to-this-script); +// if (pjsPtr) { } +``` + + ## Authors - Seiya Konno <seiya@uniba.jp> ([nulltask](https://github.com/nulltask)) diff --git a/examples/compile/compile.js b/examples/compile/compile.js new file mode 100644 index 0000000..ce1c83a --- /dev/null +++ b/examples/compile/compile.js @@ -0,0 +1,33 @@ +// Compile processing code into javascript, so that can be used in webpage more effectively (no p5 lang parsing step by client needed) +// Intended to use with Grunt when developing and deploying web applications +// contribution by kroko.me + +var fs = require('fs'); +var p5 = require('processing'); +if (process.argv.length != 5) { + console.log("Usage: node compile.js "); + process.exit(code = 1); +} +else { + console.log("Reading file: " + process.argv[2]); + console.log("Output will be: " + process.argv[3]); + console.log("Variable will be: " + process.argv[4]); +} +console.log("Compiling sketch..."); + +fs.readFile(process.argv[2], function(err, data) { + var compiled = p5.Processing.compile(data.toString('utf-8')); + compiled = "var " + process.argv[4] + " = " + compiled + ";"; + fs.writeFile(process.argv[3], compiled, function(err) { + if (err) { + console.log(err); + } else { + console.log("...done!"); + } + }); +}); + +// Usage in web +// var domCanvas = document.getElementById('id_of_canvas_dom_element'); +// pjsPtr = new Processing(domCanvas, valiable_name_as_passed_to_this_script); +// if (pjsPtr) { } \ No newline at end of file From 160af11a9f31c3c340c82255544ed23264ad85d4 Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Fri, 24 Oct 2014 07:53:36 +1100 Subject: [PATCH 05/14] Locked jsdom version number at 0.11.1 to fix jsdom.createWindow error Changed compile example to reference local processing script --- examples/compile/compile.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/compile/compile.js b/examples/compile/compile.js index ce1c83a..c051952 100644 --- a/examples/compile/compile.js +++ b/examples/compile/compile.js @@ -3,7 +3,7 @@ // contribution by kroko.me var fs = require('fs'); -var p5 = require('processing'); +var p5 = require('../../'); if (process.argv.length != 5) { console.log("Usage: node compile.js "); process.exit(code = 1); diff --git a/package.json b/package.json index 1735181..bd68b04 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "test": "make test" }, "dependencies": { - "jsdom": "*", + "jsdom": "0.11.1", "xmlhttprequest": "*", "canvas": "*" }, From 0309fab3b49f85a3930849fa9aefe3db31a65d67 Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Fri, 24 Oct 2014 07:57:53 +1100 Subject: [PATCH 06/14] Fixed Processing is not defined error by referencing the one on the window object Scribbleplotter example is now working --- examples/scribbleplotter/scribbleplotter.png | Bin 9550 -> 9853 bytes lib/processing.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/scribbleplotter/scribbleplotter.png b/examples/scribbleplotter/scribbleplotter.png index 72878bd6fdf7c9fa91d7376f0ca24fa763f6f4c9..fcc67a468d5d7a4d5cb0b4c5cf525c31a4862e2c 100644 GIT binary patch literal 9853 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 Date: Fri, 24 Oct 2014 21:11:42 +1100 Subject: [PATCH 07/14] refactored server.js to use tests in processing-js 1.4.8 updated server.js to use express 3.0 and handlebars templates --- package.json | 5 ++++- test/home.handlebars | 8 ++++++++ test/main.handlebars | 12 ++++++++++++ test/server.js | 41 +++++++++++++++++++++++++++++++---------- 4 files changed, 55 insertions(+), 11 deletions(-) create mode 100644 test/home.handlebars create mode 100644 test/main.handlebars diff --git a/package.json b/package.json index bd68b04..14af020 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,10 @@ "canvas": "*" }, "devDependencies": { - "express": "*" + "express": "*", + "morgan" : "*", + "serve-index" : "*", + "express3-handlebars" : "*" }, "optionalDependencies": {}, "engines": { diff --git a/test/home.handlebars b/test/home.handlebars new file mode 100644 index 0000000..cfe10b8 --- /dev/null +++ b/test/home.handlebars @@ -0,0 +1,8 @@ +

Example App: Home

+ + + {{#each tests}} + +

{{this.path}}

+ + {{/each}} diff --git a/test/main.handlebars b/test/main.handlebars new file mode 100644 index 0000000..d74a0ee --- /dev/null +++ b/test/main.handlebars @@ -0,0 +1,12 @@ + + + + + Test Server + + + + {{{body}}} + + + \ No newline at end of file diff --git a/test/server.js b/test/server.js index 44d7ef8..762be40 100644 --- a/test/server.js +++ b/test/server.js @@ -4,27 +4,48 @@ */ var fs = require('fs') + , path = require("path") , extname = require('path').extname , jsdom = require('jsdom') , express = require('express') , processing = require('../') - , app = express(); + , exphbs = require('express3-handlebars') + , app = express() + , morgan = require('morgan') + , serveIndex = require('serve-index'); -app.use(express.logger('dev')); -app.use('/processing-js', express.static(__dirname + '/../deps/processing-js')); -app.use('/processing-js', express.directory(__dirname + '/../deps/processing-js')); +// Set Handlebars to use the test directory +app.engine('handlebars', exphbs({ + layoutsDir: __dirname, + defaultLayout: 'main' +})); +app.set('views', __dirname); +app.set('view engine', 'handlebars'); + +//Set up Logging +app.use(morgan('combined')); + +var pathToref = "../deps/processing-js/test/ref"; + +//pull in list of test to merge with template +filedata = fs.readFileSync(path.join(__dirname, pathToref, 'tests.js'),'utf8'); +eval(filedata); process.on('uncaughtException', function(){}); app.get('/', function(req, res) { - res.sendfile(__dirname + '/index.html'); + res.render('home', {"tests" : tests}); }); app.get('/test/:path(*)', function(req, res) { - var path = req.params.path - , file = '/../deps/processing-js/examples/' + path; - - fs.readFile(__dirname + file, function(err, data) { + var pdePath = req.params.path + , file = path.join(__dirname, pathToref, pdePath); + // console.log(file); + fs.readFile(file, function(err, data) { + if(err){ + console.log(err); + res.send(err); + } try { if ('.html' === extname(path)) { var document = jsdom.jsdom(data + '') @@ -38,7 +59,7 @@ app.get('/test/:path(*)', function(req, res) { p5.canvas.createPNGStream().pipe(res); }, 500); } else { - var p5 = processing.createInstance(__dirname + file); + var p5 = processing.createInstance(file); setTimeout(function() { p5.noLoop(); From 6fe68bd7478cbdbc8b3efc54115ce8a30bf0ecea Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Mon, 27 Oct 2014 06:07:21 +1100 Subject: [PATCH 08/14] Removed jsdom dependency Simplified wrapper --- lib/canvas.js | 24 ------------ lib/patch.js | 42 +++++++-------------- lib/processing.js | 93 +++-------------------------------------------- package.json | 4 +- 4 files changed, 20 insertions(+), 143 deletions(-) delete mode 100644 lib/canvas.js diff --git a/lib/canvas.js b/lib/canvas.js deleted file mode 100644 index e2b1d4c..0000000 --- a/lib/canvas.js +++ /dev/null @@ -1,24 +0,0 @@ - -/** - * Module dependencies. - */ - -var Canvas = require('canvas') - , noop = function() {}; - -/** - * Apply patching for `Cnavas`. - */ - -Canvas.prototype.style = { setProperty: noop }; -Canvas.prototype.attachEvent = noop; -Canvas.prototype.setAttribute = noop; -Canvas.prototype.getAttribute = noop; -Canvas.prototype.hasAttribute = noop; -Canvas.prototype.__proto__ = noop.prototype; - -/** - * Expose `Canvas`. - */ - -module.exports = Canvas; diff --git a/lib/patch.js b/lib/patch.js index b15e1d9..1ff7f1a 100644 --- a/lib/patch.js +++ b/lib/patch.js @@ -1,28 +1,14 @@ - -/** - * Module dependencies. - */ - -var path = require('path'); - -/** - * Apply patching for Processing instance. - * - * @param {Processing} p5 - * @param {String} filePath - * @return {Processing} - */ - -module.exports = function(p5, filePath) { - var loadImage = p5.loadImage; - - p5.loadImage = function(file, type, callback) { - console.log('IMG: ', file); - console.log('PJS: ', filePath); - return loadImage(file, type, callback); - }; - - p5.canvas = p5.externals.canvas; // add short-hand. - - return p5; -}; +var noop = function(){}; + +module.exports = function(processingConstructor){ + //Wrap the Processing Constructor so we can augment node canvas as it is passed in + return function(aCanvas, aCode, aFunctions){ + aCanvas.attachEvent = noop; + aCanvas.getAttribute = noop; + aCanvas.setAttribute = noop; + aCanvas.style = { + setProperty : noop + }; + return new processingConstructor(aCanvas, aCode, aFunctions); + } +} \ No newline at end of file diff --git a/lib/processing.js b/lib/processing.js index c396f2f..ca4f4f5 100644 --- a/lib/processing.js +++ b/lib/processing.js @@ -1,91 +1,8 @@ -/** - * Module dependencies. - */ +//Mock Browser used by Processing-js for their own tests +var Browser = require('../deps/processing-js/lib/Browser'); +var patch = require("./patch"); -var fs = require('fs') - , util = require('util') - , jsdom = require('jsdom') - , pkg = require('../package') - , patch = require('./patch') - , XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest - , Canvas = require('./canvas') - , Image = Canvas.Image - , document = jsdom.jsdom('') - , window = document.createWindow() - , navigator = window.navigator - , HTMLImageElement = window.HTMLImageElement - , noop = function() {} - , processing = fs.readFileSync(__dirname+'/../deps/processing-js/processing.js'); - -/** - * Expose `version`. - */ - -exports.version = pkg.version; - -/** - * Expose `window`. - */ - -exports.window = window; - -/** - * Expose `document`. - */ - -exports.document = document; - -/** - * Make `Canvas` instance of `HTMLCanvasElement`. - */ - -function HTMLCanvasElement() {} -Canvas.prototype.__proto__ = HTMLCanvasElement.prototype; - -/** - * Evaluating Processing source code. - * - * FIXME: `Processing` leaks to global object. - */ - -eval('(function(window, document) {' - + processing.toString('utf-8') - + '})(window, document);'); - -/** - * Expose `Processing`. - */ - -exports.Processing = window.Processing; - -/** - * Return processing instance. - * - * @param {Canvas} canvas - * @param {String} path - * @return {Processing} - */ - -exports.createInstance = function(canvas, path) { - var src; - - if (Buffer.isBuffer(canvas)) { - canvas = canvas.toString(); - } - - if (1 == arguments.length) { - path = canvas; - canvas = document.createElement('canvas'); - } else if ('string' === typeof canvas) { - src = canvas; - canvas = document.createElement('canvas'); - } - - if (!src) { - src = fs.readFileSync(path).toString(); - } - - return patch(new window.Processing(canvas, src), path); -}; +var Processing = require('../deps/processing-js/src/')(Browser); +module.exports = patch(Processing); \ No newline at end of file diff --git a/package.json b/package.json index 14af020..a7c1afd 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,9 @@ "test": "make test" }, "dependencies": { - "jsdom": "0.11.1", - "xmlhttprequest": "*", - "canvas": "*" }, "devDependencies": { + "canvas": "*", "express": "*", "morgan" : "*", "serve-index" : "*", From 0cf9e02efc2f640988a5d77ef44ae50524921c34 Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Mon, 27 Oct 2014 06:09:49 +1100 Subject: [PATCH 09/14] updated scribble plotter example to work with new syntax --- examples/scribbleplotter/scribbleplotter.js | 18 ++++++++++++++---- examples/scribbleplotter/scribbleplotter.png | Bin 9853 -> 9743 bytes 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/examples/scribbleplotter/scribbleplotter.js b/examples/scribbleplotter/scribbleplotter.js index 70974db..d8aa0be 100644 --- a/examples/scribbleplotter/scribbleplotter.js +++ b/examples/scribbleplotter/scribbleplotter.js @@ -1,11 +1,21 @@ var fs = require('fs') , sketch = __dirname + '/scribbleplotter.pde' - , processing = require('../../'); + , Processing = require('../../') + , Canvas = require("canvas"); -fs.readFile(sketch, function(err, data) { - var p5 = processing.createInstance(data, sketch) + + + var canvas = new Canvas(200,200); + + +fs.readFile(sketch, {"encoding": "utf-8"}, function(err, data) { + if(err){ + console.log(err); + } + // console.log(data); + var p5 = new Processing(canvas, data) , out = fs.createWriteStream(__dirname + '/scribbleplotter.png') - , stream = p5.canvas.createPNGStream(); + , stream = canvas.createPNGStream(); stream.pipe(out); }); diff --git a/examples/scribbleplotter/scribbleplotter.png b/examples/scribbleplotter/scribbleplotter.png index fcc67a468d5d7a4d5cb0b4c5cf525c31a4862e2c..e15cedd2fa8fdd3f91e401fc62c8ae0aeed987a9 100644 GIT binary patch literal 9743 zcmY*<2RPM#`1Y}7@4d<1*~;G8Br76iWQGtWdy{MqCHYy&-eeqGk%}_1v$I#``<(y( zz2573ugG=jbk6ttd7k@z?)!eeF^2k@!~_fk2n2#yTT9Ite)glk@p0kra`TUQ@B`QW zwx$~53jOD8TTu!E!G_RQQ#SQS{>=?EHGO#8*N(E2!NU4HM}!ssE;Bm7!i7*It3rw+ zvq6IDurMtkK!{w=#8@rb>J`U74s3phhskNU|CKn$6c<{Q1ZYc$gkLAYUu9z>!TP*^ zhGN|p4~>>}97c>dmbazn$$B3tJUhC%5^(h5hz7y-){ys$eNO`hRqSvJ6;uMD&@(L;ae=nt*-`XPa^E>A5vq+DK ziz6hZ*^QH&#Wg%p<)W}#>QCM|JXH7fl|;-{v|nPfW3#ZZAP`mN@vJXSFuYfWdy+Xd z*)oRm&C04C4$+|eSZE{d3~g;aN~h+SR06(;az&Og_DN|?|YF!AH2ZIO;bq;aei?z^<%XY5xqQx zud{KV4wr<4q`0KSdH1HgynO5V-q6nRag9_73NO_{R|Mh74vKX5i}Y-* zj^i7J=U)pnNq_zN#U>&$;(0!pCXgxZ!E$+d=8>9~R_9NQhlkgCJQLXX^e@A^f`WWg z{?T$PX+f)cA_K(>i9}}kaek|l&||xJoei#=H<9m)ic(5UiWCl*V$@V#r=-Lb74cvw zy*K8YXbrfrdw6&q0|R5}yMf|!!CWHLtIjYyN)L~1?l%(?6Ui1ekCIncohX=@^&Wl6 zRu5OPt2yGOA}DxF!YCEbr1%0UXx;egIQXX~{x+_mGne2Hg{Ed7cVAm;Yd>7{H3S72 znUb-wadbjL!l*R0<1&hR_CvdH5+0Nhrc6M0*Q4(%PSM4xBK|xEa85$Orz+``Z zva42TOn>aM#etD8!^l-^*ojQR!}#ze;eLWGcz-l_3oGLS`|MR57xdX)x~z#c_WmbJP~JNX3igVV%Z49!NHO7StZjnyG4&A zHXw)y6|}64hVOo-*BXC5adC4~q(6*lXlO7(Vj#S{yx98^nIDe{=vZZlJ?MS4x#^1P z>MH0)j!-*Rm=i=`t_-qKJ|#klM#smiIXM+u9A^7u{Tv)507BACV!6de zMX-CmKeD(wTJUwvXJ==pgVr_(1JOS)AeJ`B(>pp!t{O>%fsm1voiD5SPZXC*ZEnwHXO-0h$_+w}$GGVY|1AH|s zEa=zQ*9|Q!oORL+)PM*z5}9H~6t9>L4-a?t_fan~u-*bsd#~uDbWFS@-ba2$%GRK| z`A@p~`tU5v$2W&Z5j-_lCnx@>;TkAGmnhM885=P)j0&7OOSaUEj2Sr-lWwfddlT?@LlqJEhSBHeLFn58Ui;%lOOFzzlXRg%bWBb% zgoK3jkBn%-RB)gD^n23}y6D@tZwSP_W}nVjYJtiJeI&?Rfi%!{@Ec`&dycK?rU&(B ztHt;cDgcbd7dOYwJ&nh@r=}Qr^pOZp#pqs9B3c*Ap1nUqMtASxC1`|w`)2GqQH@ho zRYmHXh{q==sAg(Pb$YNC7C}g>!bUa+uhg(I)L$9paP&}T#u80P8M_4V})KA?X8zDQotDl|rMbDH$SU>ismvWl*#5ZSI^Vb%tI zyhcd4sNOJOTebQ3ubBI^49t%XXoVt!H<5lSP}NGWMUB+- z^w5VEm4a~qZnHHfcM-KmkN#uVx@&7o+GL&h;^K7vr){w0L|d+`H}0F@OIawe?o++N zf+p`3l5Tr37$Sp1Ltjd#-ji@p#O#dSwVnS~csn{a7Sl6$t=7(?BcA>S8%0cI@YRc@ zKY!R|Wax-cO2QdoWTDg3)((!2ipELig1vsT&mE)1K4*$yacU-p>lB8X3u@fCLw$Kz z5zHSesd`Y>Y!nYJ8Q}tY8$F0gi@BHN$pFW@~G!vbtJDO%2;aD)XFrqjR84i%aF%GdVa1B0fxt znC_jS8UGavGcy_zX1Q?nIGPYLdw-moh6YV7Eqr|TUzK)PI=62V&n6Ezcs_lqF_L%7 z>-50cy49bYA_hAkAON3$0N$>-#3R|B8%mCwrQ2IZj4W!|@R2h$HSGXk2;BXswms9v zo~Bb}hr)Gu_)xjxCu45##<);-cQ>5|VWb`UMgcUc+flSqF9 zx5ja#ce=@Y&DfQ3rE|$ZVa|uTqq8#vJ%@vXgI{N4Xhsszt9&Rgx5~ZzyR@Wcp6<4b z#2Z>FHsxPfS?N1lCrsnXfUcz=B_*9X@Ky+Qs|J41NBk2QG7_ZGo`Ixq@UXlIxnWJ?bbG>Fu$87CMKqq zr6t3_zyN#Ov%`h&G+SvBcZc5)q-n+!6mSNtvQs+rcuE zahM6@$>%qUtmNe6WCRh`CHb`v7>>=B2=$p922=U^`};e96^W9y!nISlz49Z!4fBbJ zth7nDXlDdOsIZ$=*d*ArJ(~x>8kUWro7DYx^Ftq&q3R@8HSK%}t~YyCMx_`jiEJ=5 z{EvV8C8wp~fFi!v@-*Mzje=fw2Mm1%ohQb;Lc0J+yS=4>*2(*OS;31J3n@GXQU~9> zeSEl-m6aV%cII0vUKu*egTDKcN#%% z{Gy>&j%0j78o`bnk5AWtVoOW;VZvtLPD_2NrL2qr)a5_=1!V8~g0HV{8b>lEPCMLv`zX#N8LagV9doAhSj574fOiWCbpc}h;dc3>>bnx=?!%YFq z2hVQ7KYVt_;vq4%u!w=lf#wllNflRDK^0Zi{4tj%Lrv!>iI1hcG;vjd$L^bxb#b&- zGKAFtq~z4p)JJDdU#a~0g<_(j@B$VSr2QMhzTf!(WV5(AQKJ{zfP;srD@knBAZ4GX$YoRAD|NB~_se$vNxyl`NeXNL% z3#op&T#^?rUeHOqGjVWoCTC>y73%27&zBVCg=!Sc3#HJCs=nQUF^^A58dX;(30Li0 zZmm;h#7osGhj$+rZ*f!0pUpB#^E|`hWPY;wqf}NkA-+$QC zWMDjrvA_JKCVHG2d8-_1{`ludb>N^X-wm_yhzJY>x5xy0k*UM*$04D(bm-^iiwX8au_1K5xXWbd9p0Hs!?Lz2yQIp>2;}y z%=25CTol0E7)?!0je*A>=l%8d6HD$GP13v6O>%^WC5ZiF0=h>tOQynebj2hXh@Ty8 zUbD5eJvlwiwq!2MH8MAk2B_@1MUo?l^z5rL(JYsxtI^ulMvVDY7C$X2&Rmci@cd#Z8Q8mPsj-(qNAf%yu?t;A7f*?dGCKA97&$6 z|KLL$6UzLWnD8nDYC#)EkT)k%D8x!h-OKc5>?_+B%b-_bAV zRt8k3i`bGNaHF7f!r(~J8gHE|l^e=SMNPfyra`HzpzTP93-r?qJ<1LMzdR36ReS{_ z&mL?T7!9#HOC83d>S_w0u|HGskHi8FMt}d#)#9R{prO&Ai)4p6$YorTiiWbeg~cul zbD@2fxLp^v`14brnZHhg$X5G%?Jt=9wx&a1I6yP2agaxnvL<@8U!*VF8Lv&#~M zMIq_Ci+z-7I_ij5b948_gHAkW!W2yf4KT5=20;4h^(Hb8wFo6de3yv^ zGJ0@Ohe`hF=XYj&yyu)`_&ad2cHjTg;}sJ6GsVOyV-|LIy$^6S@_ z2sDDA9vbqxMhFC4tvcwY7pH4HaktHvT&agTJ29Z^1dq07lit2%)6J10Mu@un;61-Q z+Xh}-(2*=8?hqvcgo?psf)GK<`z3m$WW%-L4^`7ixza_FFvo(iR_3KrDKuu6kVq9s zOO-;aH*Vd`m#3%C(1tSH^N3D?9NDYPV9(5ufD2z>2(Y~yIjYxtLQ6h=jIF({dU;9=V`M}Q3uJOf%oUl!+ zlaDYlm9c|3J&lkhcBGx)e>B@+nKv81`8#HU8i|RHW<%hkL|gG*6r1On8%rKP3eO>| zuxdzbY-}W(3r-xZJRHY#&yK~>Ha33ULnE^yXm|qI5*s%+F8F4&fG9016T9DmV7m1z z^}kOhL};ZQe7=h}oOf%ef$vL~Md?7UykDiqtOCeB85x=TGpzx?AR8Jlx6-_w3?bx` zCMGD%2X#kZZw6lMt?k=9;T_-|`;u7u;5A4ZZate@c@x|V2j_Ku;w3z0BuHmqU=SV^rOJ_f|La?2|FgdhLX)zH z8`uN}NSTm<6dqNOk{~gy%L>dz?^f9K+v2_G)xAoQW z>o6*@k=2&uiE-zK`3D4`0f~kycd8211j#pJ( z9opWm2okfiS`bhdRd%<+9#W8#(~Syeb@f;b4-XG)T-*ilTPIsB+b2>h$(}S0Sz-@x z{~dfch)GBw-o{|%Prn`$6Vp2NRY&YXov|oYMow<;d6=o7?z7`9JsJ_4&n?X5G&GM+TGTki>IifgyWtQY^dK91vVZVE75KmZM~O*5!=E<GlE@OO$9-7&M=7o55qUPP+sG!We$d;9wX;4fkfc_rlfj7@S% zGHt-Gsz#Aqhc4g}7k@1yFTd~peG#8$AQsFNy5Yse#XWZy)WLH~J|54sBrZ(IH{`9n z--(HjjS0fcVri=rZ~g-gBLa>4)#;`i=IIfp{C`xa3yJ?H%lK9GV0E%i0GXTnPpasS zXZDw~%(0P{Nk>_8g3=I054eQ5ion;NlM-1c9Ld>=5r7{&7JpFMRRqViAtEQc^Gas5>!4Bm&H)j+2 zrb>ldmTN#m{*x*g^ITv9I_)1E6#rqBHuUG@;&`^nP~ACIR8LWcMCA8}GxC00 z_j_WgBfBLc?L>nwgV2EHrFv45ZJ+P&?~hLH7pCIPPytNuKYk=pP*CXq{JA@Zl4ovn zGajPQclGt@kH@G6DNzAjXs!SJ?5Jn7KvV4TxS-G0bk;`~qe&ugd@y=~f^N<{KfZ^m z7I9n9uBu)*@9A;yba8fb6Egc?Zs$p&sj1o6(&An6+J64m)YRha)ur_8qgsYxCN=&v z`+s|Xip$DSA1rDrpPxNtlJP`5=#6(aX=kJQUhO!-vb3_Ins2z{rc*XAn4ti31O3@S z2cw#9%?E_k-(%G{*nzEEr$!m(4~l|d%%M|SucdzSg4ZIXz3RNoac~MR$uMbYX+P-& za3TAY@!59{4!R*^K_I|9sz99W>gw8Ps#oPH<@)PobTockQmOYk8~Ea1b&qM+H#Q(S zipsEgb`26=^Ewx5Fuob3d^Gy%>NxeT6QS@%du}>$p5IuzCr>Zez2L3^d1$PrW@Ida zQ#_fEV%5!0{HAYSc^_l=jbajO@OiR_Np?gHi3u^9(t$_O@OJjI(xHS%76P@M-+r^o zWn*1~gM;tn46|BO|g9j!kF(Sx7+>Qa{pthcwfC&t3it6yY3nc?{jxI~CT7zN2$LzcZA z)jq`MMrLNXkdpmw@mmC1W$SkExG*5%;Y1H{F?(#peTbeBTX&`N1I$yGf3^6Dz<%ac zPR?U54|;CfWnWLv4se5SN1foy^JK^F90JbTY0^S<5T3h7Qyz>`-(_WGL+t4C$`{@O zjp$~IV%S&FK}a73>!rMaW%^YgxuxahY)k4wX7*$)GFsXwphReH04NrW`IRwleI~UM zQ;r)qC;@n?K)=@3)?}2Fs$pTNn&444H#gz4Uu9-S{~5~IcS#!HUIV^{a0~P;8mh_J z*|9L{SYYo1+n?DNXXSi93@7;(dlOKpd?xoFJO~2-bV0XYoE=BOgoiWruNiVkIlznS zfz1U(zYCE4X;4$EbCBmI8OD3UEu$qlfJ3=pRH@udwP5r<$mZ5<1<5t>Z8%5bU^8B- z%7%uhmKJ$q6B973VxDtKpL3+qj%D$pmoGg`zerV2j~GHUeSMPQT=}SX?>L}*amAnd zErg##%4uhj4g_57Ij=%NN7oFw)_tE*bp_wEJM#eCN~oejPs z_Ve?D{FV|j*bW%0=wxMa`qOhpAeSgpesyi_Yv3;9j0!Z+YmD99T@4T3^a=|K0dkw{kw?V^HfX*_AEsZ^*ZqCdMP z#694cU0hst(5TQ$RqVhFWo@wloH8B5+!_{VwG_O;A9v z2tbcxo1k6wf?M0EiD8gL%5S%Z!3wJ8KLIbPn?m=RQxCRhXIJSU3Gz*d{3!uu8>|=T z!@1|tMO{fSVyayy#B0`W_cP=9U3dL^75R3#&9yQ zSfxFwRE5UZVCe`k0Yf4&q?S5`6x7tz;EA+u-&TdC1p=K9Z?|75z#?kZz4xgKN-7o? zdVPL-dv>WwoEj+`9TujV@&KqgGHUAoZ4mk*i5U$oEl>L&myWG-=Qt4%5_&9!HY8UlgSh<+9T*0$&v48moXoD?5KcVAx=DEop3NsM>_6tIlE+?1m&5YFe=I!mB^TVRNq-5T>kQ}s-N9%56erTg{iNxu7&4>c(WOwn)BhsGQ z%z}R;D?MdGA)s-9N9`fyGvuX$ol=M{HwqTb@%$eRCux?8=cnu@zsvw9fHqY%H>Y!T zbE~rNA%Knu_S}_`^*B%zbwfVf7{?DFqC@8SN z#0x7g|EoGe8KV|C_66itze6?m3b3n`?4!iHg2QKF=Hj%%)=F2G7hZn`sZH)r)aZ5~!Rjh^$E;Nqfx z+5{5A(hUaz`hye97bF(luqBHZ=P>1`PGpkpT5I!-)_!)o|IZVKhryUEx}vwh$EL`A zCZ?XmBVmdL`{X*)N*@ss5xI?rgF|nu4rvw+5C%j>WGZB=tfUYbLs%sBkG!n7_+>#s z0ee;&pFlC z&dAg>9O?kNP{MiB0&H29ZX~3wDbu#zK2CU5Fu!an`oMA!_f7x)4X%KQy0@*Z&Cb#B z=R7l7#zBESeSFk(bO<1+taKd7<2gNaU&a2K2@5xLTp*V_T=~ZF;`9(?EDk$1s2DZS z(~wwbBrrsL{rWZdL%XD>rN!ts*u}$M$E9lj4yU=iSZ!n^;wQ)^;xjXa^Bq;Rz^4r~ zPsbUmel#Jp_P_fll(;KU7=x;pgfXcvACBR*e z2&HtmC;+djY-DWG(zGzOkgJg4qE#JyxV11Gkfy)C%u4%sI>EL@mfIb8*kk~7+2!tW zE)r>(Yb2O5pk-`KQB_mJiO_-_thTl`dwqTVm3ccz1K9tIo&TPh$x~BTPwwy6TG-sw zeR)Pd!YsSdq-yZ(O)8{1=%EflRFK1VO0R%aLU2Cop>P|(7P9&W;L#rPejz+et9V3`m3^&_d>bEv}<;DwsLv4#?in@f&u!9p`IQn9sD3W$ zvp^I>>Wf|=Kw%2jg^4A)-GO1}TfU6Wy$UCDc=Tu?#X!ONiN5#kk5qDaV)R&eB;B_~ z+QMyvFQ~z1OHw8OYVziRg)d@}rY|8`i_0IjI6ENK(D~}}mz-Baf8a3#bmvRCO@;$W zezIs2&myX5JIWsA1>KMcdl~w_XWRV(o(7n{WR$S;{Mz7Q>jQl`!9gJe3Br5h5+m2Q zb!C!eX5}D+#R#6-GtkUk#&+yR`w>FWTi+M*()o1kF1oLl_Z-eWOdAh5K;))D~gPa z@ALJ(K7YXPS65tdu5<4Dbw8ia$GT(mbkxX*8HiCR6q$y)vH^VWLH-dDz}IqNz9vR$fA?DZo&56iX+xa#hm7?DMA@+gDR#p= zNi$C=-Lhib*fr66ROhjIc~r@Hc?GK7_a<2iAIAz`NQ>4l{7K!pAY^4hhp&vLMBCXd z`<-s7wbo<3#rKBqzZ(3Lt=8~pE!*MUlJRKCYeQ+&IW+M?-B*()JoLvVQZGv4qBF0; z^sr>|%;Adms8tMF^Q<0Wz8*uc6j8)5>Wc#QiTLM2HHxkBTjz-vZYgn4v+?qhE-Wmd zEI++4%vZ$6oSdB4;3CPC%Z)Ff!o91pXq1kQj>%hRW*cGpmpVDI+1X4e6or6vl%joo zJfk@IRMW%mk7-x7mxl`da?P7f3l%#VhF@wkretPnMv^lhcKI)3a)#Guwta}m$yJMW zawu6?9uE%>6a0GH$ZeQEY&6{9Vf*`d??>v%@xLrjIVS}y!TS2Tp1!`-hJz~}PB2}> zmYjq7{QZIKn2#SdQ~S)ON=r;`!)he`|MKdW7#UZRd>^j0)vd7~;hI}nvG+Fp7OFS1 zyd3@Yt4X%B@9#SOY^fIpm+2xEG&D3Wj19PlE3#d>bV<+5EH){L^2?Vm>E&UOzFCr& zl8Krg{_1+nd@XOtE-51;=J?;^s(AnAfs-#50!GVWGF3@q`qR3#jH0JToi@Akx@9k$bAgFjoj&x2syJ< zct?k_grp=J4-YXs4MjUUEUIl{f_~(s_SwX4C4GG=Bc6+znwl6iakb-waA_c`zrTM+ zN5{%Q-CfQzXU=G!+_JpIWnIF-$(am$9y|VYDqRtkC`U0&5HR+@hmc#r1Zk`3u}`{zv1mKW3d=7>45zt zDGl}$*Or!+j`8tl`~UulYd%X&y+B2Djzd!NAc4HfVU#B&J9`p)jXEYAR!F6$re+*O zTPb@}H&>SP!FYv}=gvlHWy_^&-s_mlmoHZacJ;G*4P;Bs-+&r**p1pq{haIyJXWtBaCn=3VWwDjhMWObW&V_!FQ z)zyi(2XAO;kx~&yC}YtKx0W1}EN|Sn@hh{kQb1T(nBn4$Ds+f^@an1q7ESzRY^62E#$-$Dkx_WR_6k*H$9EsApEVNs1Z?8$Cr+rxJT^A)Ry5Qx@uDSiw zo@91?1B1{D+&U^cTL%HJMjddn1PvCC z;h2|q{dSgz&fcuF#AiE4!6F@8T3UMV_86Y9hzQx~xI-Nr17(czXNNkjHA>=$q`n28 zonfeb05PZ=VF1|{g$)01oDOcKHHR^}Foa27v@ z3e||tpKt%OG+6Diq*EAE{^;M|+4jJB|qLOIkOH2~3sJ&l5)cpLU$XR6_ zjSnoF{brkfwcwyulhV@gt4&BLC@A8YB&p5cI$!nsBd)Bdh}U5)M8j)>QY11kG|V4a zL7`$|V(5gd&k<0tkg_BaDiS@>ul@eOOo1J=~mBFf(I#F8k=)9eQqVZWt@)VA>L*CYv5oGJvLAVw|Lz?f^v~bFfA7!{kmB-g zlp4Q#^iK@d4yAw3`_U@bHW8a%>8M1&z92b^w4F_pVX;onz<`*!IHR2?14_V*=JxH| zD4&h9tE;QAv9ZLw7VjvNlanK#Io`R0f$^>7T_rxdu|Wn6gq$ZKIg`)NN7?*W>E!~Y z0TyH3es*OnU<5|;l?czBJJ&WkdePU{_iJmA-0wes$Z}hcl=Dl^s85| z+Qx4OIla4onK%LuAZ&TGl$QT?i(@rQeTfGpAt7PF&X5}Hs;eu3ap?7pEBglr^p>vF zG3S`Cd3SWgT=>y=8)r~ZSXgb-n?hjwUGkPg4b+zB+E~B!5-J$b(t6`t9SS8bE*?)W zLI9tEkB<+H0I=BE=(QH#sQc7)XIUTSw?gTtV(IAI*Xp}mX(YtNidkY#dPYV@mEZra z`f<*v%;YsTGQi?@JxBTQ9OLi4FN^E`dDV>KyN|DL`}jC51*>dFf0p=A-GiGQotRw!`-vJ(eJr|c z+`MooiO;;A?w0?QMVLGWK@FE|M-OjruA!kJ4j!IZc*KQ+H2fCoP?&42sdAxk&N!xc z)k3zAkPzb%LYyFnl+0y?I>^S7<(jBB(-7U{)RZ<$RP|<#fPje4F5l^@){-&Y8X{^tV^g`b z6@7dp92^{6_cm{Rf@yhtxU1yqT6M$tj{z2yl$)Cf1S2azj{8mH1^RF@7q(Dsdu(Lh6gUh$Oh*}}-~&z!ZZGxPEHzxyd& z$T71(kM||iEHDxL#BSV6?JNv+%=EjItklj}78aItNe?dQW4HMpDvM^nG*wsZFD8%0 zPYSB41QoZM{&x9G(1!tEJZtz;OCc~&*0|ELf8wzMaVL}IG*--YM&7RO8$r(58B8o^ znx+u!2`T!kS1-cAg3+&{qT-lUpf{~K<=g@F=J>sy3<3J*(!O}mh_Je!QX9?xHgDMIw*&RNdZ+IUPh~S+ht)DioFyO)HsOtIYPtsa0E8V* zhC)|Y_fwX5rN;1pUM8(#J|!?3!Y%8rfTR6w0F3Y<8H189Wlwaoof~eo1V~z2Ta)^; zDk>_@%+7|uSvGzN|G*=hL3;fuZ~Jo@f6@%Mb9iR}+Q#jsvah-^OL<}tO4k-AL*+G9 z(U{xtM!V=BTAkxkNl8hzBj=3gRhPl%GD3bkc1py@oY$Yy$v)8H=OJFW2NY<>ubJ&S zahB_FCpFPIlLmKAogAqMz`RSq69#kTx&b^V#8mR>h=_?lM6m`&@9cO2hg$Y*B=E4z zAm;9WZp6b$ibE!5%9AI`sBh&3ADY#R4CWRVRJ=DQ?SE_3lbyG{#S2Uw0h@~#FZT5I zDnLJ~#?x7;ztYNgRWLQB2ehktFwUPX`zZ5bPPVTHK(l9WL-`iclTmP%4mvh054(kBH^Ddxq& z+(ZChDSCB#gH?kH9(1f~qOYVJfs}y2VAb(cMSJ4SAFYWmUT}ce!3YRc4mCWMWEK@7 zy}KL2n6}96MK804r}C7zILs48C+^Jj#o_AseJq-NRd``(aS=pDr?pJBRJ0ye`5FH$ z((X`wtaktI+W73|rn8&xKoO4*`;oI+iKN9N)58{@W?GTmt z)_E#aiz_UFY)M9vxQGQ#nT?H&lIR@G+MVOx(G^dV)<7B9A_5oCqViaDjZ>teJtfdP zn2vY;{oVMywo61rRHaT~%lLBD+c~2tEKbpi1kfFLpb{_5-L820bW!`132yqcOi|xq z?nQ@%g^l6@jWXZv@9!spYONi|uaQy@^1{Wc7KVg{oqeg55ej`Ermc^?pPZFNf?6Ia zPBdMbsFflBY!FhvapU5*w=Rh=9zUNWLzg0(fwj!cw1<6t?^`?j%HGhb?y|pRx$aa+ zHA6zzsy1)h;uWPRa?bDdPVA^2z`EX$vxGhHdTpLQhdBw53+d@}(mq=#=wN_Im3#L% zou}XTK0Qy|=?J4Z0)~kKhH?g^a5q%FzOiv65b~BfUT*y|)7ty_@atC<6_Hw8N-!T` zx=e^E<)npCT$ z!YSjPw$_e~my+Z+G&QBZdWD_a+|<#@mDN6n7c#VD^vXmDO^grxj!jHVjO&?|7pZ~x zc|#+ka~WC$FkB|z`(8+7mFt2&v=fc9zRIQhJU*FStpK>uyTD^9L>jxB4oHhhOK0z_ zj>e%de-``Mf%h2)#p&5UhmoQbeA=qpVKnP`(F&@cODi1(E%nNX2V{Eqbr1AM#**)m z=5OH@CUUIv_lVdKvVXX{76mjpVUr}^Bw}ycp8~iba0QyQr83i>+djZ9A_DfN9)@@S zG;Pi(8b0E{Vxu{@xf$_P7Kw{*l}*&z-u=BH5`v zMbs{Ao+Ts?hf!AVIDwa=qqZcA)kdl$Cx;ny7-LaXDvk1`WQ?F7CGc%Ec>GiP>ea;1 z<_Tl%y{YE<`XS%nx)ff2#vdIM(;iL5zEv!D97AG=CN8ep#CVa=h=_<(`|mjeZ9v3S zRaKIcA?$T~XD7V4*tT%Die<4JDAU28rQ~PN2vN)9m8?>p%fT=M=Z1@}zbY%U8DWa} zZ3Y^gn3$MBrmjtcwsiCJfE0ivB9xU?R1`R<-Kbp96&9KIJvF)>nm+qyEYeR`uLepDQ*0&6_V<9&t2$THhK}@~e6Q4ort| z4*#`pPmj7*j?}2&-uBk4l0}nug0=`+GqwG7*s`ZoctphP(ZQenlYhTvmzHdIBxTxC zhmER6JLhajQ_|8RE*rkggML8TYWCAR-#?2(I8Uth2juNn?z=smYOb%RVH9(ecXsB7 zodAI5>0yBtcBE+#M|epjT92w!fQwOOJIGSeua7PJ&=8h=?IC$aM#k3f-!(os;s|Sg zggSMz22I+@WMAv~z0kM4-Oc)QeWKO^0Fo5G6M|+>7{kScfy6+yfkn0bXHX8|ZF0vu z7ieFC8D{X7g4w5fW9$<19beoN7_=ZWF_c7k#--bR0M*# z9q=GS%qg?z-*7{@O+di=*;8OxWtPpEP#2}Azh8+8Y;SF0L~I8{o0yiuc0hqyfs^C< z@Sz&`0UthmSk8!e!o_{%3Q0vp#roS;BcXJa zN=MC}5cjN75%3tjLl+rnz>0Z!u8TD4pDdjxC$IOJ?DM6KD@P}xV>x>k+&z~+pP8PX zuBxsMv8?O{GfRvA2ZshDGEu15Rb8E8VQoOJtF3SZPo6xv11=4$UZ_-hiTqNsI!rb^ z&~fwgHbm#}Dzpu-stD@_Ro;f^*o+K&W79F(D~E@Nq1`|8Z3myj!4m>SL8K)I2ZuaQ z8rU`Q+8*dw4d{?NpkY+$A8Lh+3K8WFb^|y4T%ba7^zX;1supnqVgx591@z{B4p)ZO{oQtkv_-_dv)P<%C|jO$Eco2jMSz$sL!~zb zcui~02?+^_ZeWWv-US>8^IW+y)EX3IyyLdm3x*z1gd$!W*8VIRzTvDHd=Pl5Yz zmzRk_ge-Y*Vbg^BY;dY_7%DWZ$2Wc8QV)*kHC#>J5U zPQ?Quz|FHo3>zWJ6>zrxo%EX3bV>>}yYJt1dKkR~;9Ok1V*J@-__B5+Xck~Oz~_@y zS7t?1ssaw&shOCx5SjtKKg!N%l$i*nBbP$bzo zIYLg~L@5=kzz?n!A2h@+x^K^^Koh|rg7-lbG8h>kQ}TMHOmeXSX~2H-V7P`;I!?Z$ z0!?m_S*W*)xDm~k6kw)lq;jzVH7t83THJ2|CMTki&&VSa=8Tk489%h8&HC4BuBkrX zZ@Hi_5PT^z7=j1!>l`pZMR2XP8lQO(_JVN$L!#Pi&G_g~?&` zuVyOSvpylmuY!(KjTiruig2Fbi~M-;J6ocsuOw(y_}ggFY5stMy(ZX5vA~(<=jZcY zz3NHw>SmH4E3p@45C-{$aC{~vrZSef!r>!uT9d=0qRfrzHON07EEguaLZN0VKeoOI zf)n;*P$JsITTFflO>70OJn-N-m^Kz55E*Phxu#3|)=Vr&{AacxmVt~6^X-6b{F}h9 zQ?Yz};3c{@OqRK4OA_G(!8A-4x=X;EZa96O-{PH~K*QnpJ2LjTSNesYLA?r+o~5Ow z4LDpW{@U{B8aP#6=#Q-A#^#jGmWgq+0+%>B@%@@v3RM$6lo%Ex>Bd6eGhBOn2r}nP z;W=jHaA)rNCS7~DNq6G)@L`lrG46#%svSDc`UYJj;u|6wu(r>gCP+tJ9Rod$f!;Pw zj4-sHrlzEn2jBLNhUq5HC^&M$z%7&lEqRQ}I6>3{^UApOc*HjeY>yA4qjl3mgFEjj zH4Wzgn9_MgX$NeFTaW*mD;=suS_yis8Y!!)ei$2j`d|c298BAds<$8Mnxhpd*3JS~ z1~$S4%D@JQV+Rh0TkYoqfr7xKX>HfK*01chm~cv{dSI6%H!CdKL9M?N)5!l)_~s4T zuX(!QImz1eq5I|)@aBH66z5W-Iz~oPAv~cpH#aYB)dz^Bm+=#&7q*F>STNE3cNaK) zbTkpAVp3*iEQnh?A2;5oFt)wCuEO)p;=25V00I<68ygOwig)#Wb)?58CNh-O)DY(U zVd;;Co*t!!jt&=INZYE*1)hF2plI-aXRXJU&R1R;lpqNV5|_*}$ZS8=G}I_HE@$wX z;{$Mqp~nVDF77;;XJx6GnhN3>4mYmPV-*7(I)F0WqihOs;d>iYXnu~|G@ z_P?yB+xk`+|HHw7fr^Ly@JCQm0_GCf2I(w|8naJ8Ys>-%lX$pkQRw9+t9}Yf#%-qU z4C3E{GRFZEZxGY4U$n8cRVp{GEr=UA>xq)*ptgeO%V%rmOv}L{Bf|9Va~20OX4hfB zKxm80*ac7Q>%_!R$LJF-+?V+;Tr1Y*5CX0jb+;xJtAWbXK*g;`%;-xZd4_z40@#Ayc8)eWEq z(BSOSKn^ba{DrOMA$A~Sc`sgc%!pR@kvxE*w=z=9&d*N{G@}djijZ|j^!QjOxNNli z7HttEwDC1dS#jzdp|A_cMBxzf3`$TawZ}~D01?&q`x!X6xLUmTa( zRB;BBEkwzLQ zLHl72m@ot$O9RmRb+e7&9k4kK2cJ31P$mw8S)BuW<%&q-=E_P8AQ}4NMTHV0MG%C1 zeEnMoZ+`@m$mSwR6zBEUjObRl9KeO#1$a6G%0%=FNP3Kf1RcyqvDf2GNLwdmW%Xss z>Li9dPDnsTjiZxOa(a67@UX#{Q;$uJ>OH3?nnlY~P2%tiGFxn9LNTs@c-3p>#2>Q1d9fSI8ApVtN6cv9tmdUU0bs_P!^vub#$0*Ky26z72t#CNCf1q zFysJmo`LsDnkK?-fl>gLL4qUgx6`vFi4%m20f>(X+pUHmqn5d9Gi2(m3v0{C;RCH~ z2`cbB!Qw*&gO;2Hz5z~9q_Ne{t^_2TdCVkf{j^*P5~#6?TXEmMnE{=9IlZJ5N!ktu z@a)V?Fr-h2?RE9)=w|~mCJD;Gz`#h_P*C=dS>?zTiPkqZ+_q*EKo;CNIXXc6KR9(H znPUyyKZDo|qX+knj*o=^w*n3po`GHJ@qH8GAun}vkt7j#8=8jZ(zR=h>}rpd0U>H?YJkUA z+4NHLnpCyDKn2TV+Tcb-LZdXq^mJDp(6AHR9r>1zZ6Rl&iTNIL08c>>5SCZ@h-439 zNqc*HB=|v+X(kuQEshohg4#RdXp=#P1KZ0lDxoj#$Ap-ckk zWe~gBYa?6}cgQlaSWBkX%g9EAr)w>2$5bM%Q`?xkgfQuzR zrBy43?0O&{>Ur<`XWBke)>r7jq-&8mI}#7I1e&#l^?%%6_lT z{PP+(^Zsl0Ro~w>(VcUC-02@}ggd&rtij|&BJJj7ZNrp|jNaEGn_zMHH9x=l=%oRe zP)Onnw&U`bk_#w|tSk#sKB9Jdg-jjO(<}~k3?N~m%*w_5&OlmJJbes2e$LT_%Jwd0 zkwFZ&ix89K<)I+HP^EYW;=|Qda6h1hjpSq2;mJz_@h!`0YkYSP4>o`+xFG-p2#1jc zM~st`Q~R5PDEDgUIkF*u5g#9)FCHiqQbJI-QJ}McW6yv=5ILyjTk$n~MB#9az_79g zh|ST?h%S=cJn)9V?&N4m4hI)nAbmVN9BX?j8a~*QDB8Cm3=|$oT3T9}XHGdj+?wKsiBw|rjYIz`e?GZlz9?$RfB5nfIbr0& n6hYp9Kly*TTlN3*()}Q5MvMiOt8FLTCqrqd=qOhx-U Date: Mon, 27 Oct 2014 06:36:05 +1100 Subject: [PATCH 10/14] updated compile example with new syntax fixed patch to extend processing constructor correctly including static methods --- examples/compile/compile.js | 5 +++-- examples/scribbleplotter/scribbleplotter.png | Bin 9743 -> 9839 bytes lib/patch.js | 20 ++++++++++++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/examples/compile/compile.js b/examples/compile/compile.js index c051952..705c7a3 100644 --- a/examples/compile/compile.js +++ b/examples/compile/compile.js @@ -3,7 +3,7 @@ // contribution by kroko.me var fs = require('fs'); -var p5 = require('../../'); +var Processing = require('../../'); if (process.argv.length != 5) { console.log("Usage: node compile.js "); process.exit(code = 1); @@ -14,9 +14,10 @@ else { console.log("Variable will be: " + process.argv[4]); } console.log("Compiling sketch..."); +// console.log(Processing); fs.readFile(process.argv[2], function(err, data) { - var compiled = p5.Processing.compile(data.toString('utf-8')); + var compiled = Processing.compile(data.toString('utf-8')); compiled = "var " + process.argv[4] + " = " + compiled + ";"; fs.writeFile(process.argv[3], compiled, function(err) { if (err) { diff --git a/examples/scribbleplotter/scribbleplotter.png b/examples/scribbleplotter/scribbleplotter.png index e15cedd2fa8fdd3f91e401fc62c8ae0aeed987a9..52d6cefd64554c2f4ce38c5f7a3f373a158aabcc 100644 GIT binary patch literal 9839 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 U>%`g%I6;QcP|;N`SG0@xA3NpSyZ`_I literal 9743 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 Date: Mon, 27 Oct 2014 06:47:42 +1100 Subject: [PATCH 11/14] updated server.js to work with new syntax --- test/index.html | 1097 ----------------------------------------------- test/server.js | 12 +- 2 files changed, 6 insertions(+), 1103 deletions(-) delete mode 100644 test/index.html diff --git a/test/index.html b/test/index.html deleted file mode 100644 index c290c11..0000000 --- a/test/index.html +++ /dev/null @@ -1,1097 +0,0 @@ - - - - - - - -

node-processing test server

-

examples/basic/additivewave.html

- -

examples/basic/alphamask.html

- -

examples/basic/arctangent.html

- -

examples/basic/arm.html

- -

examples/basic/array.html

- -

examples/basic/array2d.html

- -

examples/basic/arrayobjects.html

- -

examples/basic/backgroundimage.html

- -

examples/basic/bezier.html

- -

examples/basic/bezierellipse.html

- -

examples/basic/brightness.html

- -

examples/basic/charactersstrings.html

- -

examples/basic/clock.html

- -

examples/basic/colorwheel.html

- -

examples/basic/compositeobjects.html

- -

examples/basic/conditionals1.html

- -

examples/basic/conditionals2.html

- -

examples/basic/constrain.html

- -

examples/basic/coordinates.html

- -

examples/basic/creategraphics.html

- -

examples/basic/createimage.html

- -

examples/basic/creating.html

- -

examples/basic/datatypeconversion.html

- -

examples/basic/displaying.html

- -

examples/basic/distance1d.html

- -

examples/basic/distance2d.html

- -

examples/basic/doublerandom.html

- -

examples/basic/easing.html

- -

examples/basic/embeddediteration.html

- -

examples/basic/embeddedlinks.html

- -

examples/basic/functions.html

- -

examples/basic/graphing2dequation.html

- -

examples/basic/hue.html

- -

examples/basic/incrementdecrement.html

- -

examples/basic/index.html

- -

examples/basic/inheritance.html

- -

examples/basic/integersfloats.html

- -

examples/basic/iteration.html

- -

examples/basic/keyboard.html

- -

examples/basic/keyboardfunctions.html

- -

examples/basic/letters.html

- -

examples/basic/lineargradient.html

- -

examples/basic/loadingimages.html

- -

examples/basic/logicaloperators.html

- -

examples/basic/loop.html

- -

examples/basic/milliseconds.html

- -

examples/basic/modulo.html

- -

examples/basic/mouse1d.html

- -

examples/basic/mouse2d.html

- -

examples/basic/mousefunctions.html

- -

examples/basic/mouseoverandout.html

- -

examples/basic/mousepress.html

- -

examples/basic/mousesignals.html

- -

examples/basic/multipleconstructors.html

- -

examples/basic/neighborhood.html

- -

examples/basic/noise1d.html

- -

examples/basic/noise2d.html

- -

examples/basic/noise3d.html

- -

examples/basic/noisewave.html

- -

examples/basic/noloop.html

- -

examples/basic/objects.html

- -

examples/basic/operatorprecedence.html

- -

examples/basic/piechart.html

- -

examples/basic/pointillism.html

- -

examples/basic/pointslines.html

- -

examples/basic/polartocartesian.html

- -

examples/basic/radialgradient.html

- -

examples/basic/random.html

- -

examples/basic/reading.html

- -

examples/basic/recursion.html

- -

examples/basic/recursion2.html

- -

examples/basic/redraw.html

- -

examples/basic/relativity.html

- -

examples/basic/rotate.html

- -

examples/basic/saturation.html

- -

examples/basic/scale.html

- -

examples/basic/setupdraw.html

- -

examples/basic/shapeprimitives.html

- -

examples/basic/simplecurves.html

- -

examples/basic/sine.html

- -

examples/basic/sinecosine.html

- -

examples/basic/sinewave.html

- -

examples/basic/sprite.html

- -

examples/basic/statementscomments.html

- -

examples/basic/storinginput.html

- -

examples/basic/translate.html

- -

examples/basic/transparency.html

- -

examples/basic/triangleflower.html

- -

examples/basic/trianglestrip.html

- -

examples/basic/truefalse.html

- -

examples/basic/variables.html

- -

examples/basic/variablescope.html

- -

examples/basic/vertices.html

- -

examples/basic/wavegradient.html

- -

examples/basic/widthheight.html

- -

examples/basic/words.html

- -

examples/custom/fullscreen.html

- -

examples/custom/index.html

- -

examples/custom/intersect.html

- -

examples/custom/molten.html

- -

examples/custom/snake.html

- -

examples/custom/substrate.html

- -

examples/js/3d.html

- -

examples/js/compile-lib.html

- -

examples/js/imagecache-js.html

- -

examples/js/libraries.html

- -

examples/js/simple.html

- -

examples/js/simpler.html

- -

examples/js/sketch-event-hooks.html

- -

examples/seneca/begin-endShape/2d/774.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.html

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.html

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html

- -

examples/seneca/bezier/bezier.html

- -

examples/seneca/bezier3D/bezier.html

- -

examples/seneca/bezier3D/jellyfish.html

- -

examples/seneca/bezierDetail/bezierDetail.html

- -

examples/seneca/bezierTangent/bezierTangent.html

- -

examples/seneca/bezierVertex/bezierVertex.html

- -

examples/seneca/bezierVertex/bezierVertex2.html

- -

examples/seneca/bezierVertex3D/bezierVertex.html

- -

examples/seneca/bezierVertex3D/bezierVertex2.html

- -

examples/seneca/binary/binary.html

- -

examples/seneca/bug1116/index.html

- -

examples/seneca/bug277/test1/test.html

- -

examples/seneca/bug277/test2/test.html

- -

examples/seneca/bug277/test3/test.html

- -

examples/seneca/bug277/test4/test.html

- -

examples/seneca/bug277/test5/test.html

- -

examples/seneca/bug277/test6/test.html

- -

examples/seneca/bug596/test1/test.html

- -

examples/seneca/bug596/test2/test.html

- -

examples/seneca/bug597/test1/test.html

- -

examples/seneca/bug597/test2/test.html

- -

examples/seneca/bug597/test3/test.html

- -

examples/seneca/bug597/test4/test.html

- -

examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.html

- -

examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.html

- -

examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.html

- -

examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.html

- -

examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.html

- -

examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.html

- -

examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.html

- -

examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.html

- -

examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.html

- -

examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.html

- -

examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.html

- -

examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.html

- -

examples/seneca/bug634/test1/test.html

- -

examples/seneca/bug634/test2/test.html

- -

examples/seneca/bug634/test3/test.html

- -

examples/seneca/bug634/test4/test.html

- -

examples/seneca/bug634/test5/test.html

- -

examples/seneca/bug634/test6/test.html

- -

examples/seneca/bug634/test7/test.html

- -

examples/seneca/bug650/tests/noclose/noclose.html

- -

examples/seneca/bug650/tests/nomod/nomod.html

- -

examples/seneca/bug650/tests/polygon/polygon.html

- -

examples/seneca/bug650/tests/quad_strip/quad_strip.html

- -

examples/seneca/bug650/tests/quads/quads.html

- -

examples/seneca/bug650/tests/triangle_fan/triangle_fan.html

- -

examples/seneca/bug650/tests/triangle_strip/triangle_strip.html

- -

examples/seneca/bug650/tests/triangles/triangles.html

- -

examples/seneca/bug755/test.html

- -

examples/seneca/bug842/test.html

- -

examples/seneca/bug954/test.html

- -

examples/seneca/canvas properties/index.html

- -

examples/seneca/canvas_size/test1/canvas_size.html

- -

examples/seneca/conflictingNames/test.html

- -

examples/seneca/createGraphics3D/createGraphics3D.html

- -

examples/seneca/cursor/cursorMode.html

- -

examples/seneca/cursor/cursorUrl.html

- -

examples/seneca/cursor/noCursor.html

- -

examples/seneca/customFonts/example.html

- -

examples/seneca/ellipse3D/ellipse.html

- -

examples/seneca/ellipse3D/ellipseMode.html

- -

examples/seneca/file and fragment loading (1818)/index.html

- -

examples/seneca/fill/test1/fill_test.html

- -

examples/seneca/focus (1089)/index.html

- -

examples/seneca/fontcache (1741)/index.html

- -

examples/seneca/imageCopy/imageCopy.html

- -

examples/seneca/keyEvents (1042 1065)/index.html

- -

examples/seneca/keyEvents (1042 1065)/keyPress.html

- -

examples/seneca/lazy loading (1186)/index.html

- -

examples/seneca/lerpColor/lerpColor.html

- -

examples/seneca/line/line-3d.html

- -

examples/seneca/loadBytes/loadBytesTest0.html

- -

examples/seneca/loading (95)/index.html

- -

examples/seneca/loadStrings/example.html

- -

examples/seneca/log/customLogger.html

- -

examples/seneca/log/index.html

- -

examples/seneca/log/miltipleCanvasPrint.html

- -

examples/seneca/log/simplePrint.html

- -

examples/seneca/max/maxTest1.html

- -

examples/seneca/max/maxTest2.html

- -

examples/seneca/min/minTest1.html

- -

examples/seneca/min/minTest2.html

- -

examples/seneca/mousePressed/mousePressed.html

- -

examples/seneca/mouseScroll/index.html

- -

examples/seneca/nf/nfTest1.html

- -

examples/seneca/nf/nfTest2.html

- -

examples/seneca/param/param.html

- -

examples/seneca/parseBoolean/parseBoolean.html

- -

examples/seneca/point/demos/corban/point-3d.html

- -

examples/seneca/point/demos/psys/psys.html

- -

examples/seneca/point/demos/spiral/spiral.html

- -

examples/seneca/printMatrix/print2DMatrixTest.html

- -

examples/seneca/printMatrix/print3DMatrixTest.html

- -

examples/seneca/Processing.reload/index.html

- -

examples/seneca/processingInstances/instances.html

- -

examples/seneca/rect/demos/bird demo/bird.html

- -

examples/seneca/rect/demos/birds demo/birds.html

- -

examples/seneca/rect/demos/blinds/blinds.html

- -

examples/seneca/rect/tests/test1/rect.html

- -

examples/seneca/rect/tests/test2/rect.html

- -

examples/seneca/rotate/rotate.html

- -

examples/seneca/rotate/rotateX.html

- -

examples/seneca/rotate/rotateY.html

- -

examples/seneca/rotate/rotateZ.html

- -

examples/seneca/saveStrings/example.html

- -

examples/seneca/screen/XandY/screenX.html

- -

examples/seneca/screen/XandY/screenXProjection.html

- -

examples/seneca/screen/XandY/screenY.html

- -

examples/seneca/shape/shape.html

- -

examples/seneca/shape/shape2.html

- -

examples/seneca/shapeMode/shapeMode.html

- -

examples/seneca/shapeMode/shapeMode2.html

- -

examples/seneca/size/size.html

- -

examples/seneca/size/size2.html

- -

examples/seneca/sphere/sphere.html

- -

examples/seneca/sphere/sphere2.html

- -

examples/seneca/status/status.html

- -

examples/seneca/stringEquals/stringEqualsTest.html

- -

examples/seneca/strokeWeight/strokeWeight.html

- -

examples/seneca/text/textTest1.html

- -

examples/seneca/text/textTest2.html

- -

examples/seneca/text/textTest3.html

- -

examples/seneca/text/textTest4.html

- -

examples/seneca/text/textTest5.html

- -

examples/seneca/text/textTest6.html

- -

examples/seneca/text$6/textTest1.html

- -

examples/seneca/text3D/text-3d.html

- -

examples/seneca/textAscent/textAscent.html

- -

examples/seneca/textDescent/textDescent.html

- -

examples/seneca/textMode/textMode2D.html

- -

examples/seneca/textMode/textMode3D.html

- -

examples/seneca/textWidth/2d/demos/index.html

- -

examples/seneca/textWidth/2d/tests/test.html

- -

examples/seneca/textWidth/2d/tests/test2.html

- -

examples/seneca/textWidth/3d/test/test.html

- -

examples/seneca/textWidth/3d/test/test2.html

- -

examples/seneca/touchevents/multitouchevents.html

- -

examples/seneca/touchevents/simpletouchevents.html

- -

examples/seneca/triangle/triangle-3d.html

- -

examples/seneca/XMLElement/xmlElementAddChild.html

- -

examples/seneca/XMLElement/xmlElementEquals.html

- -

examples/seneca/XMLElement/xmlElementGetChild.html

- -

examples/seneca/XMLElement/xmlElementGetChildCount.html

- -

examples/seneca/XMLElement/xmlElementGetContent.html

- -

examples/seneca/XMLElement/xmlElementGetName.html

- -

examples/seneca/XMLElement/xmlElementInsertChild.html

- -

examples/seneca/XMLElement/xmlElementListChildren.html

- -

examples/seneca/XMLElement/xmlElementRemoveAttribute.html

- -

examples/seneca/XMLElement/xmlElementRemoveChild.html

- -

examples/seneca/XMLElement/xmlElementRemoveChild2.html

- -

examples/seneca/XMLElement/xmlElementRemoveChildAtIndex.html

- -

examples/seneca/XMLElement/xmlElementSetAttribute.html

- -

examples/topics/animatedsprite.html

- -

examples/topics/animator.html

- -

examples/topics/anisprite.html

- -

examples/topics/blur.html

- -

examples/topics/bounce.html

- -

examples/topics/bouncybubbles.html

- -

examples/topics/brightness.html

- -

examples/topics/brownian.html

- -

examples/topics/button.html

- -

examples/topics/buttons.html

- -

examples/topics/chain.html

- -

examples/topics/circlecollision.html

- -

examples/topics/collision.html

- -

examples/topics/continuouslines.html

- -

examples/topics/convolution.html

- -

examples/topics/conway.html

- -

examples/topics/customtool.html

- -

examples/topics/edgedetection.html

- -

examples/topics/flocking.html

- -

examples/topics/fluid.html

- -

examples/topics/follow1.html

- -

examples/topics/follow2.html

- -

examples/topics/follow3.html

- -

examples/topics/handles.html

- -

examples/topics/histogram.html

- -

examples/topics/imagebutton.html

- -

examples/topics/index.html

- -

examples/topics/koch.html

- -

examples/topics/linear.html

- -

examples/topics/linearimage.html

- -

examples/topics/loadfile1.html

- -

examples/topics/loadfile2.html

- -

examples/topics/mandelbrot.html

- -

examples/topics/movingoncurves.html

- -

examples/topics/multipleparticlesystems.html

- -

examples/topics/pattern.html

- -

examples/topics/penrosesnowflake.html

- -

examples/topics/penrosetile.html

- -

examples/topics/pentigree.html

- -

examples/topics/pixelarray.html

- -

examples/topics/puff.html

- -

examples/topics/pulses.html

- -

examples/topics/reach1.html

- -

examples/topics/reach2.html

- -

examples/topics/reach3.html

- -

examples/topics/reflection1.html

- -

examples/topics/reflection2.html

- -

examples/topics/rollover.html

- -

examples/topics/savefile1.html

- -

examples/topics/savefile2.html

- -

examples/topics/savemanyimages.html

- -

examples/topics/saveoneimage.html

- -

examples/topics/scribbleplotter.html

- -

examples/topics/scrollbar.html

- -

examples/topics/sequential.html

- -

examples/topics/simpleparticlesystem.html

- -

examples/topics/smoke.html

- -

examples/topics/smokeparticlesystem.html

- -

examples/topics/softbody.html

- -

examples/topics/spore1.html

- -

examples/topics/spore2.html

- -

examples/topics/spring.html

- -

examples/topics/springs.html

- -

examples/topics/tickle.html

- -

examples/topics/tileimages.html

- -

examples/topics/tree.html

- -

examples/topics/wolfram.html

- -

examples/seneca/canvas properties/demo.pde

- -

examples/seneca/file and fragment loading (1818)/fafl.pde

- -

examples/seneca/focus (1089)/focusblur.pde

- -

examples/seneca/focus (1089)/pauseonblur.pde

- -

examples/seneca/fontcache (1741)/fontcache.pde

- -

examples/seneca/keyEvents (1042 1065)/bypass.pde

- -

examples/seneca/keyEvents (1042 1065)/keyevent.pde

- -

examples/seneca/keyEvents (1042 1065)/keypress.pde

- -

examples/seneca/keyEvents (1042 1065)/keypress2.pde

- -

examples/seneca/lazy loading (1186)/lorem.pde

- -

examples/seneca/loading (95)/a3.pde

- -

examples/seneca/loading (95)/c1.pde

- -

examples/seneca/loading (95)/c10.pde

- -

examples/seneca/loading (95)/c11.pde

- -

examples/seneca/loading (95)/c3.pde

- -

examples/seneca/loading (95)/c5.pde

- -

examples/seneca/loading (95)/c6.pde

- -

examples/seneca/loading (95)/c7.pde

- -

examples/seneca/loading (95)/c8.pde

- -

examples/seneca/loading (95)/c9.pde

- -

examples/seneca/log/test.pde

- -

examples/seneca/param/sketch.pde

- -

examples/seneca/Processing.reload/sketch1.pde

- -

examples/seneca/Processing.reload/sketch2.pde

- -

examples/seneca/Processing.reload/sketch3.pde

- -

examples/seneca/Processing.reload/sketch4.pde

- -

examples/seneca/Processing.reload/sketch5.pde

- -

examples/seneca/Processing.reload/sketch6.pde

- -

examples/seneca/arrayCopy/arrayCopy.pjs

- -

examples/seneca/begin-endShape/2d/774.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-lines/endShape-2dtest-lines.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-noclose/endShape-2dtest-noclose.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-nomod/endShape-2dtest-nomod.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-nomodnofill/endShape-2dtest-nomodnofill.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-points/endShape-2dtest-points.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-polygon/endShape-2dtest-polygon.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-quads/endShape-2dtest-quads.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-quadstrip/endShape-2dtest-quadstrip.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-trianglefan/endShape-2dtest-trianglefan.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-triangles/endShape-2dtest-triangles.pjs

- -

examples/seneca/begin-endShape/2d/endShape-2dtest-trianglestrip/endShape-2dtest-trianglestrip.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-lines/endShape-3dtest-lines.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-nomodnofill/endShape-3dtest-nomodnofill.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-points/endShape-3dtest-points.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-quads/endShape-3dtest-quads.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs

- -

examples/seneca/begin-endShape/3d/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs

- -

examples/seneca/bezier/bezier.pjs

- -

examples/seneca/bezier/bezier2.pjs

- -

examples/seneca/bezier3D/bezier.pjs

- -

examples/seneca/bezier3D/bezier2.pjs

- -

examples/seneca/bezier3D/jellyfish.pjs

- -

examples/seneca/bezierDetail/bezierDetail.pjs

- -

examples/seneca/bezierVertex/bezierVertex.pjs

- -

examples/seneca/bezierVertex/bezierVertex1.pjs

- -

examples/seneca/bezierVertex/bezierVertex2.pjs

- -

examples/seneca/bezierVertex3D/bezierVertex.pjs

- -

examples/seneca/bezierVertex3D/bezierVertex1.pjs

- -

examples/seneca/bezierVertex3D/bezierVertex2.pjs

- -

examples/seneca/blendColor/blendColor.pjs

- -

examples/seneca/bug1116/test.pjs

- -

examples/seneca/bug277/test1/test.pjs

- -

examples/seneca/bug277/test2/test.pjs

- -

examples/seneca/bug277/test3/test.pjs

- -

examples/seneca/bug277/test4/test.pjs

- -

examples/seneca/bug277/test5/test.pjs

- -

examples/seneca/bug277/test6/test.pjs

- -

examples/seneca/bug596/test1/test.pjs

- -

examples/seneca/bug596/test2/test.pjs

- -

examples/seneca/bug597/test1/test.pjs

- -

examples/seneca/bug597/test2/test.pjs

- -

examples/seneca/bug597/test3/test.pjs

- -

examples/seneca/bug597/test4/test.pjs

- -

examples/seneca/bug634/endShape-3dtest-lines/endShape-3dtest-lines.pjs

- -

examples/seneca/bug634/endShape-3dtest-noclose/endShape-3dtest-noclose.pjs

- -

examples/seneca/bug634/endShape-3dtest-nomod/endShape-3dtest-nomod.pjs

- -

examples/seneca/bug634/endShape-3dtest-nomodnofill/endShape-3dtest-nomod.pjs

- -

examples/seneca/bug634/endShape-3dtest-points/endShape-3dtest-points.pjs

- -

examples/seneca/bug634/endShape-3dtest-points_2/endShape-3dtest-points.pjs

- -

examples/seneca/bug634/endShape-3dtest-polygon/endShape-3dtest-polygon.pjs

- -

examples/seneca/bug634/endShape-3dtest-quads/endShape-3dtest-quads.pjs

- -

examples/seneca/bug634/endShape-3dtest-quadstrip/endShape-3dtest-quadstrip.pjs

- -

examples/seneca/bug634/endShape-3dtest-trianglefan/endShape-3dtest-trianglefan.pjs

- -

examples/seneca/bug634/endShape-3dtest-triangles/endShape-3dtest-triangles.pjs

- -

examples/seneca/bug634/endShape-3dtest-trianglestrip/endShape-3dtest-trianglestrip.pjs

- -

examples/seneca/bug634/test1/test.pjs

- -

examples/seneca/bug634/test2/test.pjs

- -

examples/seneca/bug634/test3/test.pjs

- -

examples/seneca/bug634/test4/test.pjs

- -

examples/seneca/bug634/test5/test.pjs

- -

examples/seneca/bug634/test6/test.pjs

- -

examples/seneca/bug634/test7/test.pjs

- -

examples/seneca/bug650/tests/noclose/noclose.pjs

- -

examples/seneca/bug650/tests/nomod/nomod.pjs

- -

examples/seneca/bug650/tests/polygon/polygon.pjs

- -

examples/seneca/bug650/tests/quad_strip/quad_strip.pjs

- -

examples/seneca/bug650/tests/quads/quads.pjs

- -

examples/seneca/bug650/tests/triangle_fan/triangle_fan.pjs

- -

examples/seneca/bug650/tests/triangle_strip/triangle_strip.pjs

- -

examples/seneca/bug650/tests/triangles/triangles.pjs

- -

examples/seneca/bug755/test.pjs

- -

examples/seneca/bug842/test.pjs

- -

examples/seneca/bug954/test.pjs

- -

examples/seneca/canvas_size/test1/canvas_size.pjs

- -

examples/seneca/conflictingNames/test.pjs

- -

examples/seneca/createGraphics3D/createGraphics2D-3D.pjs

- -

examples/seneca/createGraphics3D/createGraphics3D-2D.pjs

- -

examples/seneca/createGraphics3D/createGraphics3D-3D.pjs

- -

examples/seneca/createGraphics3D/createGraphics3D.pjs

- -

examples/seneca/cursor/cursorimg.pjs

- -

examples/seneca/curveVertex3D/curveVertex.pjs

- -

examples/seneca/customFonts/examples.pjs

- -

examples/seneca/ellipse3D/ellipse.pjs

- -

examples/seneca/ellipse3D/ellipseMode.pjs

- -

examples/seneca/hex/hex.pjs

- -

examples/seneca/imageCopy/imageCopy.pjs

- -

examples/seneca/keyCode/keyCode.pjs

- -

examples/seneca/line/line-3d.pjs

- -

examples/seneca/loadStrings/examples.pjs

- -

examples/seneca/long/long.pjs

- -

examples/seneca/mousePressed/mousePressed.pjs

- -

examples/seneca/mouseScroll/mousescroll.pjs

- -

examples/seneca/parseBoolean/parseBoolean.pjs

- -

examples/seneca/pimage/background.pjs

- -

examples/seneca/pimage/basetest.pjs

- -

examples/seneca/pimage/blend.pjs

- -

examples/seneca/pimage/copy.pjs

- -

examples/seneca/pimage/copyimg.pjs

- -

examples/seneca/pimage/filter.pjs

- -

examples/seneca/pimage/gradient.pjs

- -

examples/seneca/pimage/imagemode.pjs

- -

examples/seneca/pimage/loadimage.pjs

- -

examples/seneca/pimage/masktest.pjs

- -

examples/seneca/pimage/pimage.pjs

- -

examples/seneca/pimage/pimage0.pjs

- -

examples/seneca/pimage/pimage3d.pjs

- -

examples/seneca/pimage/pimageblend.pjs

- -

examples/seneca/pimage/pimagecopy.pjs

- -

examples/seneca/pimage/pimagefilter.pjs

- -

examples/seneca/pimage/pimagemask.pjs

- -

examples/seneca/pimage/pimagepreloader.pjs

- -

examples/seneca/pimage/pimageset.pjs

- -

examples/seneca/pimage/pixels.pjs

- -

examples/seneca/pimage/remoteimage.pjs

- -

examples/seneca/pimage/requestimage.pjs

- -

examples/seneca/pimage/resize.pjs

- -

examples/seneca/pimage/resizeloop.pjs

- -

examples/seneca/pimage/save.pjs

- -

examples/seneca/pimage/set.pjs

- -

examples/seneca/pimage/slideshow.pjs

- -

examples/seneca/pimage/spotlight.pjs

- -

examples/seneca/pimage/thumbnail.pjs

- -

examples/seneca/pimage/wormhole.pjs

- -

examples/seneca/point/demos/corban/point-3d.pjs

- -

examples/seneca/point/demos/psys/psys.pjs

- -

examples/seneca/point/demos/spiral/spiral.pjs

- -

examples/seneca/processingInstances/instance1.pjs

- -

examples/seneca/processingInstances/instance2.pjs

- -

examples/seneca/rect/demos/bird demo/bird.pjs

- -

examples/seneca/rect/demos/birds demo/birds.pjs

- -

examples/seneca/rect/demos/blinds/blinds.pjs

- -

examples/seneca/rect/tests/test1/rect.pjs

- -

examples/seneca/rect/tests/test2/rect.pjs

- -

examples/seneca/saveStrings/examples.pjs

- -

examples/seneca/screen/XandY/screenX.pjs

- -

examples/seneca/screen/XandY/screenXProjection.pjs

- -

examples/seneca/screen/XandY/screenY.pjs

- -

examples/seneca/sphere/sphere2.pjs

- -

examples/seneca/strokeWeight/strokeWeight.pjs

- -

examples/seneca/text3D/text-3d.pjs

- -

examples/seneca/textMode/textMode2D.pjs

- -

examples/seneca/textWidth/2d/tests/test.pjs

- -

examples/seneca/textWidth/3d/test/test.pjs

- -

examples/seneca/tint/tint.pjs

- -

examples/seneca/triangle/triangle-3d.pjs

- -

examples/seneca/trim/trim.pjs

- - - diff --git a/test/server.js b/test/server.js index 762be40..554f273 100644 --- a/test/server.js +++ b/test/server.js @@ -4,11 +4,11 @@ */ var fs = require('fs') + , Canvas = require("canvas") , path = require("path") , extname = require('path').extname - , jsdom = require('jsdom') , express = require('express') - , processing = require('../') + , Processing = require('../') , exphbs = require('express3-handlebars') , app = express() , morgan = require('morgan') @@ -31,7 +31,6 @@ var pathToref = "../deps/processing-js/test/ref"; filedata = fs.readFileSync(path.join(__dirname, pathToref, 'tests.js'),'utf8'); eval(filedata); -process.on('uncaughtException', function(){}); app.get('/', function(req, res) { res.render('home', {"tests" : tests}); @@ -41,7 +40,7 @@ app.get('/test/:path(*)', function(req, res) { var pdePath = req.params.path , file = path.join(__dirname, pathToref, pdePath); // console.log(file); - fs.readFile(file, function(err, data) { + fs.readFile(file, {"encoding": "utf-8"}, function(err, data) { if(err){ console.log(err); res.send(err); @@ -59,11 +58,12 @@ app.get('/test/:path(*)', function(req, res) { p5.canvas.createPNGStream().pipe(res); }, 500); } else { - var p5 = processing.createInstance(file); + var canvas = new Canvas(200,200); + var p5 = new Processing(canvas, data); setTimeout(function() { p5.noLoop(); - p5.canvas.createPNGStream().pipe(res); + canvas.createPNGStream().pipe(res); }, 500); } } catch (e) { From 520a9d2e09b196a41e37a5cff1f583671fbb2240 Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Mon, 27 Oct 2014 12:13:11 +1100 Subject: [PATCH 12/14] Added example for generating animated gifs Modified browser object to support animation modified test to show 2d only --- examples/animation/bobbingball.gif | Bin 0 -> 72056 bytes examples/animation/bobbingball.js | 44 +++++++++++++ examples/animation/bobbingball.pde | 98 +++++++++++++++++++++++++++++ lib/browser.js | 7 +++ lib/patch.js | 10 ++- lib/processing.js | 4 +- package.json | 3 + test/server.js | 9 ++- 8 files changed, 171 insertions(+), 4 deletions(-) create mode 100644 examples/animation/bobbingball.gif create mode 100644 examples/animation/bobbingball.js create mode 100644 examples/animation/bobbingball.pde create mode 100644 lib/browser.js diff --git a/examples/animation/bobbingball.gif b/examples/animation/bobbingball.gif new file mode 100644 index 0000000000000000000000000000000000000000..196441cb02e3ea5436cb3c988b2d2031f39afdba GIT binary patch literal 72056 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 Date: Tue, 28 Oct 2014 15:17:32 +1100 Subject: [PATCH 13/14] Basic Support for loadImage (still broken) --- examples/scribbleplotter/scribbleplotter.js | 1 + examples/scribbleplotter/scribbleplotter.png | Bin 9839 -> 9464 bytes lib/browser.js | 32 ++++++++++ lib/patch.js | 58 ++++++++++++++++--- lib/patchCanvas.js | 13 +++++ package.json | 6 +- test/server.js | 16 ++++- 7 files changed, 114 insertions(+), 12 deletions(-) create mode 100644 lib/patchCanvas.js diff --git a/examples/scribbleplotter/scribbleplotter.js b/examples/scribbleplotter/scribbleplotter.js index d8aa0be..399f109 100644 --- a/examples/scribbleplotter/scribbleplotter.js +++ b/examples/scribbleplotter/scribbleplotter.js @@ -17,5 +17,6 @@ fs.readFile(sketch, {"encoding": "utf-8"}, function(err, data) { , out = fs.createWriteStream(__dirname + '/scribbleplotter.png') , stream = canvas.createPNGStream(); + stream.pipe(out); }); diff --git a/examples/scribbleplotter/scribbleplotter.png b/examples/scribbleplotter/scribbleplotter.png index 52d6cefd64554c2f4ce38c5f7a3f373a158aabcc..dff7958b137baaa4dff0fa5c25da00f40893877e 100644 GIT binary patch literal 9464 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 U>%`g%I6;QcP|;N`SG0@xA3NpSyZ`_I diff --git a/lib/browser.js b/lib/browser.js index c730e55..c775810 100644 --- a/lib/browser.js +++ b/lib/browser.js @@ -1,7 +1,39 @@ var browser = require('../deps/processing-js/lib/Browser'); +var fs = require("fs"); +var path = require("path"); +var Canvas = require("canvas"); +var patchCanvas = require("./patchCanvas.js"); +//patch the Canvas constructor to return a canvas with extra attributes +// +function PatchedCanvas(){ + var aCanvas = new Canvas(); + patchCanvas(aCanvas); + return aCanvas; +} + + + +//Add timer events for animation browser.window.setInterval = setInterval; browser.window.clearInterval = clearInterval; browser.window.setTimeout = setTimeout; +browser.ajax = function(url) { + // console.log("replacement ajax"); + + var imagePath = loadImagePath || path.join(__dirname,'images'); + return fs.readFileSync(path.join(imagePath, url)).toString(); + +} + +var oldCreateElement = browser.window.document.createElement + +browser.window.document.createElement = function (tag) { + if (tag === "canvas") return new PatchedCanvas(); + return oldCreateElement(tag); +} + +// console.log(browser.window.HTMLCanvasElement.toString()); + module.exports = browser; \ No newline at end of file diff --git a/lib/patch.js b/lib/patch.js index 8bcb50d..8f5d649 100644 --- a/lib/patch.js +++ b/lib/patch.js @@ -1,17 +1,24 @@ -var noop = function(){}; +var Canvas = require("canvas") +var canvasImage = Canvas.Image; +var path = require("path"); +var fs = require("fs"); +var patchCanvas = require("./patchCanvas.js"); + + module.exports = function(processingConstructor){ + + //Wrap the Processing Constructor so we can augment node canvas as it is passed in function newConstructor(aCanvas){ - aCanvas.attachEvent = noop; - aCanvas.getAttribute = noop; - aCanvas.setAttribute = noop; - aCanvas.style = { - setProperty : noop - }; + + //noop some canvas functions that are called but not needed in node + patchCanvas(aCanvas); processingConstructor.apply(this, arguments); + + // Add an onAfterRedraw event to the instance for animation var superRedraw = this.redraw; var sub = this; this.redraw = function(){ @@ -20,16 +27,51 @@ module.exports = function(processingConstructor){ if(this.onAfterDraw){ this.onAfterDraw.call(sub); } - } + }; + + } newConstructor.prototype = Object.create(processingConstructor.prototype); + // Copy static methods like compile for (var i in processingConstructor) { newConstructor[i] = processingConstructor[i]; } + + + + + //Make a global Image object that can be used by the image cache to load images + Image = function (){ + // need to use parasitic inheritance due to error with normal inheritance + var anImage = new canvasImage(); + var superSrc = anImage.src; + Object.defineProperty(anImage, "src", { + get: function() {return superSrc; }, + set: function(y) { + if(Object.prototype.toString.call(y) != '[object String]'){ + superSrc = y; + return; + } + //Define an Image path + var imagePath = loadImagePath || path.join(__dirname,'images'); + fs.readFile(path.join(imagePath, y), function(err, fileContents){ + if (err) throw err; + superSrc = fileContents; + + if(anImage.onload){ + anImage.onload.call(anImage); + } + }); + } + + }); + return anImage; + }; + return newConstructor; diff --git a/lib/patchCanvas.js b/lib/patchCanvas.js new file mode 100644 index 0000000..8155680 --- /dev/null +++ b/lib/patchCanvas.js @@ -0,0 +1,13 @@ + +var noop = function(){}; + +module.exports = function(aCanvas){ + aCanvas.attachEvent = noop; + aCanvas.getAttribute = noop; + aCanvas.setAttribute = noop; + aCanvas.style = { + setProperty : noop + }; + +}; + diff --git a/package.json b/package.json index 861e3da..9ee517d 100644 --- a/package.json +++ b/package.json @@ -12,15 +12,17 @@ "test": "make test" }, "dependencies": { + "canvas": "*" }, "devDependencies": { - "canvas": "*", "gifencoder": "*", "animation": "*", "express": "*", "morgan" : "*", "serve-index" : "*", - "express3-handlebars" : "*" + "express3-handlebars" : "*", + "traceback" : "*", + "colors" : "*" }, "optionalDependencies": {}, diff --git a/test/server.js b/test/server.js index a762db8..6fb6ea0 100644 --- a/test/server.js +++ b/test/server.js @@ -12,7 +12,8 @@ var fs = require('fs') , exphbs = require('express3-handlebars') , app = express() , morgan = require('morgan') - , serveIndex = require('serve-index'); + , serveIndex = require('serve-index') + , colors = require('colors/safe'); // Set Handlebars to use the test directory app.engine('handlebars', exphbs({ @@ -28,13 +29,16 @@ app.use(morgan('combined')); var pathToref = "../deps/processing-js/test/ref"; //pull in list of test to merge with template -filedata = fs.readFileSync(path.join(__dirname, pathToref, 'tests.js'),'utf8'); +var filedata = fs.readFileSync(path.join(__dirname, pathToref, 'tests.js'),'utf8'); eval(filedata); selectedTests = new Array(); for(var i = 0; i < tests.length; ++i) { if(tests[i].tags.indexOf("2D") !== -1){ selectedTests.push(tests[i]); + // if(i > 60){ + // break; + // } } } @@ -43,6 +47,13 @@ app.get('/', function(req, res) { res.render('home', {"tests" : selectedTests}); }); +//This needs to be global +loadImagePath = require("path").join(__dirname, '../deps/processing-js/test/ref/'); +process.on('uncaughtException', function(e){ + console.log(colors.red.underline(e)); +}); + + app.get('/test/:path(*)', function(req, res) { var pdePath = req.params.path , file = path.join(__dirname, pathToref, pdePath); @@ -74,6 +85,7 @@ app.get('/test/:path(*)', function(req, res) { }, 500); } } catch (e) { + console.log(e); res.send(e); } }); From 052d39e9cb741f067261b218a57b7645298b9b23 Mon Sep 17 00:00:00 2001 From: Ben Sudbury Date: Tue, 28 Oct 2014 16:11:47 +1100 Subject: [PATCH 14/14] Updated version to 0.4.0 Modified Readme.md and History.md --- History.md | 9 ++++ Readme.md | 77 +++++++++++++++++++++++++++--- examples/animation/bobbingball.js | 3 -- package.json | 10 +++- testServer.png | Bin 0 -> 274567 bytes 5 files changed, 89 insertions(+), 10 deletions(-) create mode 100644 testServer.png diff --git a/History.md b/History.md index 4ba54a2..4cddddb 100644 --- a/History.md +++ b/History.md @@ -1,3 +1,12 @@ +0.4.0 / 2014-10-28 +================== + + * Processing.js v1.4.8 + * API Changed + * Removed dependency upon nsdom + * Added the ability to generate server side animations (see examples) + * Updated server.js to show latest tests + 0.3.0 / 2012-08-13 ================== diff --git a/Readme.md b/Readme.md index e653a4c..09d2b54 100644 --- a/Readme.md +++ b/Readme.md @@ -3,7 +3,8 @@ [Processing.js](http://processingjs.org/) for [Node.js](http://nodejs.org) -![screenshot](http://cl.ly/1R1L2S2n190c0L2j1I32/node-processing.png) +![screenshot](https://raw.github.com/sudsy/node-processing/master/testServer.png) + ## Installation @@ -11,17 +12,23 @@ $ npm install processing ``` +## Issues +1. Currently does not support 3d sketches +2. Has buggy support for loadImage and loadSVG (run make test-server to see examples that are not working) + ## Usage ```javascript var fs = require('fs') , sketch = __dirname + '/scribbleplotter.pde' - , processing = require('processing'); + , Processing = require('processing') + , Canvas = require("canvas") + , canvas = new Canvas(200,200); fs.readFile(sketch, function(err, data) { - var p5 = processing.createInstance(data, sketch) + var p5 = new Processing(canvas, data) , out = fs.createWriteStream(__dirname + '/scribbleplotter.png') - , stream = p5.canvas.createPNGStream(); + , stream = canvas.createPNGStream(); stream.pipe(out); }); @@ -35,7 +42,7 @@ fs.readFile(sketch, function(err, data) { // contribution by kroko.me var fs = require('fs'); -var p5 = require('processing'); +var Processing = require('processing'); if (process.argv.length != 5) { console.log("Usage: node compile.js "); process.exit(code = 1); @@ -48,7 +55,7 @@ else { console.log("Compiling sketch..."); fs.readFile(process.argv[2], function(err, data) { - var compiled = p5.Processing.compile(data.toString('utf-8')); + var compiled = Processing.compile(data.toString('utf-8')); compiled = "var " + process.argv[4] + " = " + compiled + ";"; fs.writeFile(process.argv[3], compiled, function(err) { if (err) { @@ -65,11 +72,69 @@ fs.readFile(process.argv[2], function(err, data) { // if (pjsPtr) { } ``` +## Usage - Animation + +![Animated Example](https://raw.github.com/sudsy/node-processing/master/examples/animation/bobbingball.gif) + +```javascript +// Generate server side animations with processing + +var fs = require('fs'), + sketch = __dirname + '/bobbingball.pde', + Processing = require('../../'), + Canvas = require("canvas"), + GIFEncoder = require("gifencoder"); + + + + var canvas = new Canvas(400,400); + var ctx = canvas.getContext('2d'); + + var encoder = new GIFEncoder(400, 400); + encoder.createReadStream().pipe(fs.createWriteStream('bobbingball.gif')); + encoder.setDelay(40); + + +fs.readFile(sketch, {"encoding": "utf-8"}, function(err, data) { + if(err){ + console.log(err); + } + + var p5 = new Processing(canvas, data); + + p5.onAfterDraw = function(){ + + encoder.addFrame(ctx); + } + + encoder.start(); + + //Finish the animation + setTimeout(function(){ + //stop encoding the gif + encoder.finish(); + //Stop Processing from looping + p5.noLoop(); + + }, 3600); + + +}); + + +``` + ## Authors - Seiya Konno <seiya@uniba.jp> ([nulltask](https://github.com/nulltask)) +## Contributors + + - Reinis Adovičs ([kroko](https://github.com/kroko)) + - Ben Sudbury ([sudsy](https://github.com/sudsy)) + + ## License (The MIT License) diff --git a/examples/animation/bobbingball.js b/examples/animation/bobbingball.js index c80667a..486f97e 100644 --- a/examples/animation/bobbingball.js +++ b/examples/animation/bobbingball.js @@ -26,17 +26,14 @@ fs.readFile(sketch, {"encoding": "utf-8"}, function(err, data) { encoder.addFrame(ctx); } - encoder.start(); - //Finish the animation setTimeout(function(){ //stop encoding the gif encoder.finish(); //Stop Processing from looping p5.noLoop(); - }, 3600); diff --git a/package.json b/package.json index 9ee517d..ca40b19 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,16 @@ { "author": "Seiya Konno (http://null.ly)", + "contributors": [ + { "name" : "Ben Sudbury [sudsy]" + , "url" : "http://www.lighthouselogic.com/" + }, + { "name" : "Reinis Adovičs [kroko]" + , "url" : "http://www.kroko.me/" + } + ] "name": "processing", "description": "Processing.js for Node.js", - "version": "0.3.0", + "version": "0.4.0", "homepage": "https://github.com/uniba/node-processing", "repository": { "url": "git@github.com:uniba/node-processing.git" diff --git a/testServer.png b/testServer.png new file mode 100644 index 0000000000000000000000000000000000000000..57b650594ec1f929dd5b724d02b252d89041ebb4 GIT binary patch literal 274567 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


YJQ?eMXJHvywwmsXBnB29);E1A# zh5zEq^jH}{S@&z(M#N0`msGmY2Mgg#TR!nFYFk~GO;t7(-&WWt>VigbvIf;>{%4r2 zQu$jwUiqiYt+l^Dz+jGr>^;T9A?E)o^yVmgk`!hGBIcQM49n9%X@st!4juOPTm?UM zJcDCC@bBTtzEcu-n54FFEliwk?z^av4mroNo9|fuuDLoI#ByyW%Nib5-Rqqjun#}} z*i2OT31xZtJzsQ)+Sm5=&fq9OaX~Lt1Pjq8Ed`?w3I3$Z_#6vdnm6I8gT-mbS>$){ z%#a3IfgXRRdZZ+8?55&lFoX8g`k&Jor}0lzMT@T;^frso6zFzvnpBaZLKhwB9G$q_ zIMBlMtf!>N63u_r`k1B)PkZjNGTUYadNniX{}fRD=XXxrtd+yfOAaX4Avc@-@W%RT zy&>%&h5O+GYJq{%r-Ti|C6vMye0J1QLHs4H--w4E?{m=RFTRG=?q^zj=@}mb#8pu0U1G%)21^0>N)KPXj(VS@vQKUL zNy!$Vhg_NXe1t?sj->F$`iyY<`G{>@E4vyKHFOO?9JUM(7VMFi8P7m+=}n-sUZc?$ zBec%tAw3r-6d#}pWnT`M$Zik-twE^w4J_1teCIl#W3^Id8BL)KGE%Y;v_wpeB9_C{ z-4iyZs-Im3Oaqt$C6U9@te7cftBQ8Fh}Svie0HSuQTJa`R=TuL$hqc0`|nfV)I4dG z_cCYscjK-i8G@G03gb)Qwo+Imu$CS(9HIj+XJng?1UqPADuM*$i*$C-U~ho6_5H#l z{LC)DVq|N1yE1-ux5@Ynq)m!B37iP_oY9T*hkC8v!{wK4_4hUptP{8wQuU>+baLxx zI1OpUbPOO9SfPeh-M%6^%{#z)xr8#EYEJgkOgxW4Y;~o9%YhS(1=2roaYR1Db(jJd!bh8G?gYa&@>cJlx$V49?Z(Hh zCr*U{*5}fJ?#z|Z6p%j|CbkoGSj$Y{tytHgdZcNDvgM4BpK7(-+%_wc%ForxK4vD< zt(ldTytYq=51c}L5z+e2-DzV78LU1Y@Z|c~1mVM#UVZq=g!OF#l3o2QS){>4Vi1cP zOoxRNhg>y3H9k=HNK>7SfXTNIX0V3TToMnZi)YH3t?RS_bwf)>4S&Jjs$VsY9;j48 zC0mvz>>XyS6Lm>UotPyJZcCf&U};?kR+=0};B|#o;+y>N2o?{hgZv_W?Vr3;g{C((3lAUZ`J=Rd%D;dgCUoC5_IIe_0Tpy*sUEObO zI#8jb@`e-UShhMp{=bN9>Pk$b^xc(fs|FJ#)ajP_FZ41=`TBnKX;4nP@xS=g#$P^@(SzgC0u6nYvAhCG9Ku_~-w|KKOsXNj&7(`G*j1dD%&|)#2H7 z8(nOaxKCiw_8n{e<3PT0!XeAmRY%vf(SMBj|G6=J0>bY6uU-KES*8D3rK>rJ|BEf( zJa@&FT5(D5qdVE+jz~MPOP(0|hWI188XQMr7Y$LFX9(kYLrbTtGZBp0bk(j)0LyYN zEg~*Qc)u_6HA=@60C_YNW{nx_t;zLFoE=P8mkv-?&2O~eJ84^?!vb$zy9I_+mN9<*nH zmod;=@!^fhge_g8++JW_U3^Oq8$3K;4rDHhA|7?A8^_vP;Y(MVsI$}QcbSb}XH~3q z;{tB&P<9^Dq($+&9z|aVb^b%-eftLtU<;z-zK~?EZ%F|P$QQePCLHp|9EU$>bn-w& zrUKGxB3XKqHf5AO)l-p?Vre{DljgZE?kqP8hv>y&kWX}Z5g#ql;(3kbB`L^pa6XeT z`wz^@JQ&IO_JX_e`2|?&(ud4^>@AD!OL^=qd`MWT_gopY2!J-wlhA>KKkLGCby3Xv zvEAx0M>{$$+nyIOFT@P8jd`anoUjx16u;h-Tp+I6E4d)z7IQ&BTfs}8ag)dW1;#`8 zeIgA-M}D;0?Xr z*l^v3;CW7mZ19JHuT}RYJ33|FG`IRQM)bzrnv>ZF`ZhIwg#3Qh!}F#x&G;?V3C`^o z4b`nV*MATDy2JBI$tA~`dZWs|t>M+q4}hbu&si|) zo|o4>x32}aMy8Hm>Wn!Tss#xXb^8@REGCU9{%(C;`JrGXOY69Afm=@@yTs|{F8Q;I z!Kgl?PokFtY+6YuoN)K#0mxB|E%Tn%#HWU&o5`BKm%QUdLlUH#!!<(N>kpS?gWr1h zsg<&(wM*V{jN6tZsNVOtlYyr>NX(r~V z8@<;E#(JRf&BX^v4Sg`;@eX)#!TVR|`c_Pqx~~Zs_~-Az<)@iFG0}Ymwa>%$=11Ne z?EGsC0Mh`7lRF@^kL3hzQTeCnO1plwQ@RM|%D7j;_~+ngROH=mgY1*AN)tNC$>@2{ zlX6tCV_^i%pncO+!r!e)dcQaT9hZ{3>bhd8jG@6Lp`nh>YGb%QJKvj^J8u?7Pd9W^ z-^qnb0b}SD!KJZN)B8>KIoO6?o`~|BRqB@NKr8>+xAhJDkV^Wu+3e>6_MHQ&4hEm!H3}Sm{&e|r7kb@p&#MlCXnf_L#I2@7 zQD>Ykh6x747{++C@awIkg6lc=a1rJ!4ZvkM@Y$JM=O@uq;>wH<_#)9Yvp3Wyu6A}~ zD?6%=4SAS;U%zVh;^V!^>&3>PL+ytO?xgdaZd4Bcy62@k`b5cYixWfX+kx)3hm8RM z;||rp9h)1?-CelBUiThsDrLMmF8|#tNF)09up)Qd!2y@gRMWpYjM=21%z{6bQU`e8 z+g7cl^r{(t=W_<`S3~tdfrHu@z@O@J`1VH#$;nB1d$t`TYNkGNYR~EMoPpo8LUFnH zn;mn3%v2A;^oiQZv{&asr6`9>r)&F6q3?IAH~2YH4-=>>m+opENt^q&)RUjY0*+o% zJbAzE*DExSgyBopwO2U{l2cbqX5w|A^go%Sp?DKzGluRjYS(vDk2M_M5pa|edyM#@ zKIgDvRd&#(vYT&*L+g7_ErOEIr|XpyrZ%@UhQ~h}l@sj}Z`4&1OtwE~)Ux;n+gZOl zic>3YGHyq>+%TUSZ6>psQ2J|}D8et%ipX*)D#^r&5x3M!`dw)!P9A2mneW-ucIL-rq+f}fMc@vjq zzI(8x#K-STclT&f@ul(A^kmB8-PVl;e?5d~pF?2|-`U(W`XKdt-*W7$=r9Xu;l_!# zXK=E&k2kQ>#g>3T=q&qj?dKI?eRamm5<{<{3Qg?d&D;Ut;Y$a5-0vn4bEnd~9KgO- zJti0e*)h8Pu!MD5le6FVB8cb`ReaGJbgC`77!i=Tdi7yuOO6fu-tx2d9WEUyH$+K) zzV3eN$^ZMNNrwjae7~b!TggdR;km=SuX`p#zGkIt_uZ0y{95340LXXiz7tdFpf>!C zj`k?mP#ClxY!o-`nOAwxC}oEX&U(L`Zab^R1^Rm66mNP!tf8~T;a-qrvnkeJI+w_c zC%3<&W}VjD8#$Gl;iR`Cx9e@hM_si3idJblasAy3zQCvNM6KvN;!0$z32K2~CCP9) z?BcBZWH`1g2I#C+%YhZ8$nW-Ub+K-Hczaedo5Bv_0@E=V-~FH3ul5Ila33yBH>uNB zKW+zs9%z@bW=xarj5gmtw!`a)I0oiZ!Y@hxvf{kqqs2rl>9eyv)TSeN<Z#j>y5zyrYvbXJy zDXUIE#a$KUf-nwu3j?BEgj{Eh?VHb``e2uKRa`lAJf*l*!Aa!5n%!I0N5kCJsO~`P zOqPGJ?ZHyc=DP9p>yJlqpj&BABdJ&!Vk^g5o<> zTe}a3q1$Z9=Yn(scvk2uH7T4Cy-C7}%-#Zl6w+{0a1~)0BH11EbX4ZBk3e_|Slwel zj^4kpy)5%h_V#4Nc;Y6_<(z{J z^&tHdtLm+Qo=v-h5_G3OPN3by{X)nO5(Bc@ppUf-?9}1}MIp*KF zy=pS8MPVQTaQFvamL;^#txgpDDc-}!?vR_4RlmaV!!?3dU&tR0Ni)EPj>e^0lV|KA ze3qm(q(gcfQ$PYb#_3n{yp?dC2{~_%bM0qC<;IBAElGI^y&QPPX!wKK9e`dUf)%JY zvj+^Z2ONZ8lmAJ@$Wr;=PQpen!Jq3MmV92hGtnAQIrA;TPHz~3vJ7*_T?7~d7(3sE z_Qc+dbb)hqz#0MmA=SyofRR($!%sZw%Jy+go~~c&5pAwTAS9#grTNF+aRsSRk`D96 z;Nt*AIT6SiI48UErrMeU{-DPV7XCbA>d5M^e>(1~w?$ZvJs3Aaqm*Lbgad!~0^-co zR;z72XqIeu+p&4z>T|F5y8Kr)0B76>urW6j0nQ~Z4ptB=YQcqVYJ{(#9kJBP$IJA{ zOy}Qk4dMiEmyZnaiGQ(;F-o!wdP=LOJx>;2>i#zS>edVp_#Pa^%EB7JZBd(Cz>~dP~Tpu^l z*pE23I@7u7sER@R#?l4%<<#wg&fCkzUK<_mx-ni>a+RC|I^nKKSvd4w=M!;QbcAuU zaK0ZaKJL71Jz2eAaQl;+xh<+&@YLTp{V&w~p^2GFGc7Ics;!4!rCCAneV<*7JiLK-55k5KKb?5 zszBchR>q2Ecl(prtj6`t7!OQd>7MUNT-LdYR&zeg0A>-9a@w4}!{Fyj_xd)$rm@qS zg{6D-w_0;d9p)Ua^l>;nEpttwyd}12hTNvQFv`v~v4%CsFRPclHm!|ehSlR)OCG({ z&5Xi%c3HPVB=UKQ_QE0-7Y6i}6MO2lzgQD2!^*Fnx=$&-IjQJp^l7)?g6#?)(?C+L zDtaf2{%V_M>$A>H>2eo5aFy}&V|tAv4MXs%e8H~((-eCdo($vMdR&9dd|{xGy{Q}D z^bHrWZ@O5+SA$XlK}~s{tli<}De)3rm-daj5^kQ@@AM6Nqu5EY3-lvir>qpHAs_`z zj3$WpIye0EID)%6iZKW1`ihcC5j{HhepaA1UKRW9BiiPJdg|Mh=#jwY=T9F>SfC+! z)gd6-a?+t=n|||HWlK=wnas5|cd}sVJv0Q7{ zMxGFZ-uavK6AjCAo6ZiDc7M>}&2yi%uGhKQ6OhBwiY$;!yp##<%cFka<=G}pu+Xoo zHY$35?zYw;y;6Bm>~N>(S9cS&*{h&E2dx z(P34^?jT3-!xYfXYC5ITrlbxo44Vw*=bc_Ax?LhVIqZ4~AB+^P67Z}TAcID%anlT0 zZ-qZF;uV-5|9Q{LX82CdGj5zkc&S5UXsCHU3slj~t{s*$>)hw5g!EoD)F3B$?e*wq>nXc!(WHp<_(|dT&mw7>7zd&9 z&0r^0LuJow&k~UnL`8vv7alNcgazU)6t;D(m^>yzx>bm*v}<>XOZ);;jrt0xdzmf3 zYC!RCz=&oy_F}>Q8JmT69X?|cE%z=BOn9)#{bNPznxzXOBXZSBhEj(*ua-4Z$eY0$ zDS~(+3xY6@G&7Z;my*Ww9Y1Z;%~M!RzTMfohi_flZ~X*)ZbIp+hM{nU&kj_x4lvA+ z#!&87u1|g{g1)W+v>3qQmllwRrP4(P#S%7_hHTn2BgnG0-ICq|bEbkud^eR^2diqq z*MXGbkxtZ}qwJbuBCo<5XlGP#l~#k_!7b`yCRg9>9L;pysn;IAhCuM`m)a{Y5Lw|1 z&vu?JUuVjVBT1)yGG)ndGi z52pL(5T3VM@LUXr`x&wZ$wI!5l&Cy%hSG%39!!Lp+W~h`VUciOk3=OO0^3&90fH&e z&0&FFlf}!ox}2*JcdNDom!_x%t8rU;4KBjjR!rX7;)>}8^CUsBfO2FI&_mnzz}!Wp z_!&#{tjpwsK10FLdm zFU})e4qmF^hRhimjs{iPM37C9uhI<pv1TMGv(Xs}8xTjSs#S4M{Ae(L%hVlB!+q z7apT|h8w~m`_=F;2Xr82T+3p<9AH1;W?VgzFxYQRFrbw4s*Y9m9V(C5Ir*a54yd=7 zQCTVDHs?*Nfaf#TOY5;#l^v1)@cI2(%o-SXUi5ZBwNjjx_Yx+b*qHl1na$JO2$;1P z@PE%I38I__oe=$u~w*^8+gbsPlugcPcOmJ;L4Dbq{Z-;OH0@ObZy zfV1d8>$Km+0-UQgE*@9v4|#{C!@Sl&7wF`YKF?0)u_dJ=^ztVzfeXP=Ys&` zSU2x?<{s|^tqyo_<7qs;#_<(8I$J!34noD|TrE?JbpCY}p(hpxF@rUFWv1Fg^@NAw zsAB;u4*V(ceaULQ1SfQ4GX8|zg(+I*ettwNap_h>#jS_R+xb>DiJ+)iE1MkK1>Y*C z=MA?ABTr@4>BE%%K?9=OKFZqM7OpB|oiaJ>X;Zu&;^vaOiZ-#3YzH=euB&djQ?pbK zb8*UZxy`37Ppo(STir<2@D9G76actLkPEs-Q)*GWJ}aiN`u;g2E!h4 z0Ez1OmszdDZv*30G!_-ml}X9g)_M%K@bbfx81x)oX3&n}+bV52HjJCiR8e+LKqNgi z;6m2re`YU>d&nH{R3Ca-sD>qdVcyW0ppmN`R-_^0ExR<*hoi;y?@=op;w4y}m5x+j z(|7v{;GZ!po*{Z>u$Ku1$mKA58bso@)l7e83bKCn>sGOu;HmB;BfQaLZ8^pxgj!KN zL|CDJ=bW+}OU^Wam#<>}T7P~vcxLm8#nE-NPgeAqPb}dv)ZT{q`ui8%J5FmGK^>_^ zT-yt;OdrZNagK_a_*1a{eO)}R=iH#`W!#_*MXL5VqM3aw{chhT%z{D7S_7S2!bLc8qI3Pr|J9H*12XYgb%)+V?yTmeqCSWy@;{Ef8Q|9nhdF5 z5)#@ax)eIoD!*XvxS0y}+W+0Y{oZ`FwAI8~peyl#ZXb+P49P~CO+5x*K>rfN=kwJnzZKuqGVz3De)EqNe*32ne1`RxYyaP{2rfW zmQa)BdVU*qojbc$bcIzUeKXzW!}my9o~wTl!~dMM5RI;#G>^VcE{wEhjlvSNq2k@AtqWm9mV4cg7UpW| zW44@f9)^{IF9|an(GYG>AHkdi?U`8A z^w`;>Lt0Wek8C!})%Tq)-?NfC2ASu!GmrAKu`|7)dMD%=QCdH81DHPLOO)v79Q~uSuDj#oJ%-hU8skDa zS+CMDy>k2L{mi!>Txc$asQ$*fWuM|aDcF?!#4pm(eM*x7%r&5H*8i!#VGL7gSp<-R z*rXAk9bJzT3fn$i=28RBozADw8<38KH&-hlRYAr~Oek(^Cpm1@z-tFTTw!pY2>s1E z_~v@`ZjBrL(P7B`&OP!C}h&9plX)tI)HkR*+DuX zIX0u5;u8B>pKP8~3COLo7GUpp5~DR(sB3>~*GZeT#t?^cz{KX{ej|j9q@=J#Dd9>I*CiqzX-c=9@pW4-$dh`+_s&F zO5;S{CKVkTUCzmskv%M@*3(9t_;=O0q**n621s>}-q-Ro{u_%4P=gLh8qPCqJoax` zl7ftuwU%iLOlF|)Zf%$PlbN5pZu{*EKRkx_joWsQifnYn0)9`Syztto0TK*Ggr{$9 zEHbj@hb`0Iy4lR3-%x#17i~!TuqYxsrm*HZ1d0;h7D1|`akU($`|g)jkMkTbr4`&Jbw7)L(AuQ-vwjt?#--)T+oI_#O#ZS zg$1RrH?iFKoSYu;J(CQa6Lu;KlO7J)#qX9+d$v}?2)0Lxd89L3keOGwG*5iwz}A(x zGej7?B$%V!Bo{o|@}|M;=Ip=roBPgjfqd7cwt0ucpuf&(xWd1rYnN^5))to)gBNP^6{T0qfo&%Jnone>>=hn9nfw8pdiUccEq-$hMOi z5&%+DxQ&O>f@b4XZT6c$=*K(L#j-&Y_5H7-uIsQXr3^_y{1LmI$}Yb=``^#pd+E0F zqA%Xj4U}sr&GykZ2g1%$^^5yN7+X!s6iIN%0^#SoI@ZmJW~ac~*XWAYvnBr4Tm=Qn zu5ry@xv5~hd!ZyC_aA*Lj>F4Fs+GYH5!W|1&Ek5aa4fX`b!$?%{pJ!o3=o2t)@*u> z!XeohLzO10>R{iTW~kRLU5?WBc$%(36X>AREqPlqHkc!_I-S5Tqc@50ELb@Y)ZDtn7R6$UeGo( z^z5={@z3rz9=zjS3JVm|tTn|@_Lpg+L@A&AxG580#ZbNt5Fy(e=u?9JnUsVUw*AXWb>@T?Fz0 z>)C^XQlZf(+e(Sfl9}LhlZE9~!~XukYQg#f_W4ZLLS#+s3Y1TP*8T5g%Hf283^Z(V!axZj- z1v<5vQl$k|WAA;e*5AVu#rk@dS7VneTjch=OfT&{?gLDHvlU%_=bqvbx#$O=R6pyB z*_kH8sTsIysz-YRW^*AZKVpkbxT@Y-1rBKvu)ehxkh`-BR?a3B(lHqweNk)}+_BW` zS%j&z$eP{>9%Oq;xww&8RU1{#EwGWBKkGA**@^4;c*ee^jCo6%%kT;^S7pqIIHEnt zYS!85IIws5K(ZO`)4bTQuO>fQwxEaI+(WkjN1Xu9Vuo_r?t0|vdFMSB9>|y~@4=M@ zXUE>)?4Q~})UAIz2ON9Ukoa^o8``=H*w=Tp14iqfSdvUzcJJ98Kmg*x*weBJORJwR@Zck|fPx!?)I*C2srrq3)XXuCY)@Vf4#<2(7%wH4 zbXE>C=}k6q7%9ze>YakDb5s{p5pcL{S6*cg!2{)QcU8(dOpkgDjEa;G%B1JYxSEd#Bi+546CW`^r(+H7o^_{>6i z#+y)+nCrhjBc{L?mpdfV>R6}@Y&}HhQFecBKGH``KcZL5ID74C93NcUE&+rX?b!Nw zz??7&hR$mT_oabG$w$NMT*f5P{xH=4nU8G#3`-ZvjR1*`>)*WvhgSN9|&hi+6XkPDX$`{4wG zUGBsA4zFtPf1cm*<5`YPev0v@3TL>`mBlOIu0rAdLx|6fY#WfnXR7Vk+y3!g$<_-FC1{qD8LAbcO>a2<7Z63|# zIfnig$iZc~m3-J+&Cg$+q5>N~9P6Fis!HL2*!$y4y=4gjAi+*$Nkxz52BIxj2+A(Q zAl>U{puVBMxCt}?>uyC`wq@WqyxV?36FFZ0|ri?&Ex*>mi)i$ z{G#u?Rq7e^D+9RNQ^VtuKCz$|ICrz;VHB_v6>wMhQvfYR2{0tuQQAoq@A_ljC^koi zFd+0hm*PF@@>TlsVP%?4>v{$-xW9Up*Af_i)>gbvDv+JXS^NdU~t}Oa_?_K zw$s!%P8|3~RGIxp1}iH7gt`Z9fz5DcMaDmT^F4Hcf5EUR9gQ;Jr=bxxq!)Gkv!IWEno~@uyyFW zs`NZaC8`>XeJLyHn3zU2 z>s9lEO@y%kfJ0MVQs#JTXDox_pifa1yO6QQACRXy>OZ1dTR#|^!nI`^&^zu%nMU!V z&Ujz zCL&zuHm{tB(zd0akCwn~;!0u#l9f#}SKU9PgHq0qtg-7id~2ymXR9>-RxO9Gn-Cdk z%#B$5DVaOFu?miqJ-}aBMN5VT;}F0FA=Q3UMc;$?6U4Cw|51F&Kz`R45;k;X`b9fB zO^Ms9?R_lBN@JSpwwN}2I~w#85C$8-n$m1X1Rz}_95C@*SSA3I%^NEj`>`;X1Chp7 zP;Zzpgg0T#VrWhEnJ!~b^i9T}d8vklXahfxz@NTxh>K1*)^1PXFcdGGupOSmSLH3k*st~ z7U0sn27cYT>3N`h9Q+;ab2>3RJhG~7XE$VK_45=H^EaPJd@tDZ>J48SZbAkQ-YFKB zY!*&*B#N7g_0`a6wkN1X6xeG2J|4@N1smu_v`v08Kzu*te0d1%-+x--l{wR)2S zW8EA#(JBv+qJT@VZZDRCODxfg0O78!D$bgB1@iu^>um|po76mNrf$*y`D7rw^nBhw z?#`=giwoq%&aRdQbqG`h`e~(e&%XobRF^-1C_vwy@G7m@vo?R z9+f_<5RHS$3Wq`&J9I5PAl`4Q;rm4ag{J*P4L=ip-a`tMw-~>= z$ML~5!jA@OH-b^>c74)GXzSw!9^Z?+)va4=jPF51^7Bda$ervaJxyYjpqlb_Nahqp zovz=aE8`tGP4$RwoOLMlIPw}6pqt9|)0vaRutIaDswffgeF=H{3@_Os4G5+1- zd(32Z9T@pg_fmhlm%?5ctT5Cnbu)4w+_}5&pQYgP`=q(V9u8~`k)lU-KXq7m<8UQtQm6Fp zlb}*bdp@Dt7T^^GM;9Jm4p^7k^N0xyir%k}nTA2hG!-~Wq1dwBM%1bPi=oZct`oAr zagOiC#^{UJbV;hobln-OymoZoqfz!zU)Q-P zM;Gq?y;%VwP}c6#8dX7cd*ubN;en(JqL@v4@@0ffieXP^o`DM`;nr*rd+D#k>`26y zKZ4YMDwNYK!s1~%rS98HW0#%7v671QKx`*-wGevNrzp#bQ4fW9C!R4imJztsq!1q* zS#D%N*baedX_*H#VDeS#j>XeTmZp-9X`H+I$kq zyMtFYTc%+?L%)IMnr4MKgJx}(`q^Zva71k_$>oR|PwY~#8Mt=d>fd8I>jxPp zeh1CmW>x3k(!(87FSn5UNsF^&x_uDWdA zFA~x@k0c=cOaAJsbKXTwSH68%G%_>U-MZIqF=PQyYR?SK{|neT`jwk;Crm?&WH+-$ zbb5ZC_VGX z(|Y=lFikXDCimT@sT!S1h`u)XFoYUivz_&Y5~5A!O^391g?V`ftxJ*ng2nxmQ>xQr z#}{DIK1m8s&~1JPDzx>RCzKx>cg~Dhy{*!FFLc{H|GgQ>yG=Na)D^jV6*X%E#5N1r znF^?GydO6XgBT{DbeZ1M_=FC2YRh8D9RoHzveYN03sUa5*4m3 zI!H@@Rw6FcK&{K;i_q3H85ME8dVsYjNg;^IqGAKUve5BJ#HBg}zFw8|%D@9N(|M~O zjA?9oD&|lh^yf+L{rZbQ&Wo&+TGYdcxG%aC`Myt7p2BfnZm;2j=B?_uT3s+aR6L@* zGQns~$vh1?6Y;n`jn{1)<3Uq^kVYski2IGPkTU#E=W~}TYr?iN{_^FqCH)Uxk1R(= zZyE|i&$XL0Oyvsmx)m1NCQ=hi)|mw|LF%AOv11MIsysm*+U1D@!xo&{-=Ia~x+GyY zZ+PA#org6C94$gfl8_NfZN0qYvZ8`F1d<;IK_mZWw)M!+A#F7&SNdfqKTjN_&wx$~ zIV&{!0h92)S@9JX&xi)>QFQ;(kz~((^YgUAKR*e##M}$0FJ0j|guVb95ioU>B!O>B z1|;Ew@g&0?u3smKB^RvL&yQ67mLa$}-zVoZr9_-JR~86e7&0I|T;pnxxf>^kUA@Dh z!+k}#+_HK*=-#b7_~#pg&czE8PkbFI} zi>ogt2lZC&87cmq=cBMkoqA9D#QI>$tEdIQ2=5~6)FLE-pnm=CyMA!n(ImkzPx{(z zp0q*n{%XP7RSp0@#u+!LqFAA=kyPL94xB7@XQOf z^xuoKBX9LRWG@0;5D^+p>a}dgSXrKCCaM6H#gaqORedq3UYWANW5=CwB@fwSKC#Hb z2RO4)n821RIrFJbC`i7j%^Se%3uxEa)2c-7m1ejaWfMaOb|%H@p8X#*@&8XE10~P@ z=VBa}X7}>cPKnNaukd=;O>W1Hwkte{<)jd;9@vo-y_IuDmzJ{bHg_Nv>Q&HP4|?RN zh?v+>nS|D6zp4Zi#3+qmpeRjjndnn+HE{FdZs3-~&!zY9qENc(3&Wo#^wGSSbc3<# zy<4y$sa0g@wfpVehY_qtTvHDjKQ|+ls@X6KmCpit*1omKlgkoP=scBtda^1hkJjP7 zS;!ShCTe=HI1F(-J5mFUx7Z6N0@eKn;+_g2OPii*u3i}_LMyucjn$*>-l#%!ev}_x zP(NCx-2M{MG8N3f2taG*wnLo9*p>`^6Tp2?`NLA=v#h~RrBn5 z1XgL6y(6$dcJI-kZ@!v6ZRYisuC0e z^%?n`AECc8v{rH9+22E38nC>Fs;gfmD@sc!63TiE=)sumkDF~6$cHTvNr;MpvS7== zl~I?ogNyzAjkDzZvoIFX?H%XdmQC^DXdp*Hi&Z-K7oZCVb^~!SAf9a z%m?X)*oc57;i-EcObSZ#HmjqcCvXUlW2v-ZnN4@4PP5xN)D`Omb?v&#hcV;0Lw9o? zFEXgQZ?yNNou#3y*M_#?LueDkpEmkKQMyKtCEmxbGtV)y1zOsA-}8(_YH}F4x_<}e z1H7rCpD!He8NCNz_+Y=~!4F=G{81b0Cyz7*G_wK&OMjm6NH>$#HrEz-6s%hTF1#s# ztf`G!h4U(V$<7% zp!u#oxYcxn)PVw9iF;mf#1&O)p0KkBS` znWU%ETx@6C@{OksMEevGly2)66QmYh%LVMQEuJ{`N_PS_7J0we^?NPgl}yKS{nlC3 zs&Ku8AjK)60~6w)iJ_s8%=!(p3mnr_g>MUt+FxrZ&GwFkD%Kr7MU#d4p?!>FrcS9J zUmhJXu9TP!2&{pcv zYU6vmk$j5x!15Z(7E(gdBsBFRC+T%)9tcYZYcgamyJRO{FaSr9rZ3;%e-Pe{}J=^#1vbF)8IXP6Ks8N%A>E< z59Q=+L}6umj4yiP3^t2lt+)W4TkhfWX+4QAnT^yj4d@5&=$n7llRm?BSnA*YnGCjG zw$R7kFnyL(|4#7L1`|Yb%2QDRlKy08_~$$|<>0$NS!nwVD^se_mN|3lfErX!x?=&C zAy%ejuFv9H?wen6XKw*)5?};LaK3fH5=kP*{R(sX061(j?Xdr-M@zHmOF(X30-aBj2YAa_6bV8^9DbcXezg3-2M>k`x--4EiccR{fYP ztqOHatwivpLr_rd{zrIZvCo?;{hW~Y^Qs1%OA3$|$qV0PU3p!U!eJeh-6fL)Qg4axI^!I0~g4GcT-Ge6&y%U6ZAxuC6tGS4d23a+$kcYW2p(`>w2DbQ+(W>dSMt zu6_LTw}3JIiy1&-a$YuMsa!=@YS~?kykUQ{;xE6Jb?L!=iCeA&H-8dMZ zmEwy+)N1xU*7SPSwGZrk)LWbo@U#3Q&`-(<_hNlb5XROZkO4>h$P@Qfibc&`k;`R&Z#zy1E_Eh-BFR^Pm3PpDz9xV)TZ2$G6v4{j5`=-ev0m6Dbkmx77AwUSgg}l{9Dp zgp(3WTnepn$L=jexE$Dc5f5o!Zl=Eb%_ZYqnL^x)`af^4t%Mt|G=r?VCqizQmrW#C zxOVd^6@5eDr1_h(lQpsK9nO&@Zo!$pb!@RXz1D4ax;$mF9g<7wxYE-9eY3t(g+Nky zR%u~zK$;(NES=5tLW*5PHFQS(6=$oQnwS!Me@^SphQGMRxQPSK&s;t&8Rj;ilGA>0 z3nVM!ArB9Z8Xiyeot3QFtx53REV&w}^fICyXLXh$7Iw?U7|iN3!(BcSE1gIvpX0Om zg{}VAxxC3R{1J5lBgapg=P|?LZqx)XU+NVu|B%YnozWo{MOckp;n%-oxxwS)YLTk{ z28?6kM79>2SyxrdA(hLo?yfmcOrOBYfj8kfHxP^R#4R!@oDIyWgmhc-N`| zgX=|}SlAroMCsS5iCV;pno^!!%y3^bymrq0tbfM>K@Yh!DE#b1 zvyvabzBFRE&mlI`cTadlR}XeO?q}#8e^UMKPUSwMWjV2vW%9Eh?@VmKm@e##(_^;y zR>Zm`D90dT#Md}9_DpPhW=gPQmMTGQEz)di=mfwEHWMQ?YOq zGwTe2;MQkvEs64*pK<58{l)!VozkwpY&KEerTW-g*QGia7+sz-e%r2+)bB9RK6`=r z$(NEx?LU_i|65~OU;--Pk(jF&Th$#!Bl^&+yITg}6WTe`BWTxHzeK*cIAp;u>u+wq zD^^!q4|}LVV}LEEF#s^kgERF0w%YKqLv_0NuQqRx^UPbs83PE3|ZyXV}d z!4o?Q`pp=7F+oK!t-y1gDj8L&{c>&~s|Uf-QPhgRX#HpQ^v5060uR3U;ddCKRDSd|VA^XX%tgPM{{tSGCoB-wTMlg-=J=1^nGl1c zUTxMG-&oaU5*EBl&bWB0I2eINF*fQG?;fXi^yWFlOFCwdRjRTU;hew&?H|fc+3>xd z+>kwwK38S7D_HsJsK{-{`^S#~!FJWsz8W$M=3rwXTJ3c|EGrV^nZl>{|&GESI&nFUK;87$-s%qWo_^YXeQr{ay0#7a_-HbpJ{I{ zIMhUD!UR<;U0*Lk`KT|6Kg>)E!qhxjr6qg`J?h6l&q_M_*>t_rr{4d024HQkOhrmD zOZXWeD3wM|CV#GWV5(Vp$b{I^-*Vr?G=Drmr2`)_Em-=B4iuI8Vn>^oM^{jFX3?99 z#ds^&j!w>L(<8=L6Hnp1u5ST8<`~GpjBXsEJah4!GWe5lAx=9;N=`W1adVQF0sRY}S-|Mahd z;D1i!CH4G7{iPA?T9jF;pDaqs`~bhW>~C~2LI`6T9;7eY4cKjz^uZ6!~di`M<^`>bwDaG*j9*5OIsVotpcQOEid3?_X zo#nPVR1$&kba9^VijfkhyS&Pw0jeqVgs2qbixQ~8wJ%iUmj$E^kQkS51K<8Y#;f2aD^~#v&m3WPhL^U@%Q&;;l70r@S!sT}dr}_h-_58sj5aDbIPKku(dyu@+U8T}Gi86(OwhK! zr;mk6j-=z*?lujyq}^9ukx~~+EJ05l3JG|P-0*NlE;wKKB6&+Bc%#Za%`D5WGN$hi zMkCvs@lvzTi4sgdzwN&EXv9f;yTpS*&dn#^W*CQ)oJthJq^cqk9gf7JKlUK4D-fd^ zt2r8+rJN(}u1~-p#YBmrw{(-6SL-T4wlAvQprBzsh+O4x1j9*mx`DUyEc`Z)WY@ps z^68Zrv4siaUo*brv-XyILl-HV@?L3WbUd9YD^u@$JB?&JXWyP-A8g_s6h{&-vb?<1>&s>rtSGhb_BiY-ron+Y;Qg1v2 z%1Rfl^;31|}jaE?Eu4=^UqS!aAq4fY7$g6a2%zKW9&2~RWf$cPc4;tp;{Rn93Y z;6{R9`B3U}h(3t%5Zha?s#=tCsFi73N;cQbz>k6oVm%2R|3Em4LJ$Xvoc#^aq^5v7 zZ~V(XpQqgRa#0!!i+gmvsp9TC{Jyf$!rWb^A=lhWa1@$ZgKj__EW3C}#R#GfY@UZx z@_DiJi&1(b#8S~ZNBR%Qk6YA*K^>F*}nCCzKk`AlQ7`7Gs6Elysf9^ z`Ol$GtGJpge9Fb&msJaH1-!Lh>4_eitIcZoA@R7b*dt)Hy+T~d7%=K*HC7V{qP{BY z*|oBzum;B1NS?AGDQjbmw)m@@o(3`>+LSW9R`~I{6O~x7fc?N*vNL2<7XO0z?FAqs z!0>p1NtAlAPnmng%?k$Ot7Z^``{N6}MDF%S_^)2v3UHCsI9RJ(ZC&W*YbY3)ByK3ev9b8Jm{TXQI7Ww0Et(wzRoX`Us zSD&cM^kYy%#cJM1Q(tve$DDmrc{$I`!b25o7fOJ2lv}%gy!=1pH2;Mr#}RPxPb-l( z-~^jdm%GT9^YRzLI<;0vfcr8SJEsB;$Fw%{n@9WB<_&_AG88_-V6tcm^_FK3h}Cl= z3o*9c8q4So>X7kn%5>pmcQWygL|eb8t5Gbpt;pe5(|ZQ&yENk47?h&Kv+eiTLr01O zq?6ogb!_~yf{kh~J7!=_qD!ox(ba&Y&$PYWPl#Htg3x|hYPT%4r)liUq0F^lja%zh zl$e8YQ`XH#%og0ZT4JLAE>1d*Z#beD-2tWMcNLb(?**ZZ+6{H&l$Lzd0#t~M;oBU|uAfflDdD4$KZ(BxdE*P=o`$NVT@oa>IYKYmIGnFOvY ze&hlEDRPc49DVWOJ$hjvmrR4KebPCep`%qALSm(ZE-B{SSdS)ummQh^j$v>)dLq-)^2X+QrSP76c`H{BiLs+R zw%EDJimV>3zU8D=NW_#a>xPBPII3;b3#6PQu#nLuoz+u$;!Uaf_}fj4+pT9$gvpgh2fsp z;yix+c`nn<2WnlACFjM07FUjz9(ghyx}Qzdn0xXn798eP_0p+H65BT73lJiN{gcPzuwpK6h^vzgx zA1i0Kt-Z+rZOgT@9$6N}T<%p1C?Ayl;5encx3`HBm1S?!D+C0ITv6L6FkB zKDI~22;l=(lRFw^EgUBYUEbt0`iB}#QOpw^E~cmqC^60RVWA(3+xcV<3_+d(V!KjZ z4tzqR&}Qc{ltXKI`QiN~f-@+@`}+&Vgl5h9%Vga0m^H8bL* zRW{QJ6~KAe%U0|{l~;H5UUhkuw_#h6nP|loAXUpoU)J40>ES;yUP^pks#3iNO@TCh zdDWse#_T_;6^?_+r%vK{zrDFv_9VAwuAgKv5XmYQ7rhUW`B1UHjKLX%zi*!>h>K+g z!2!Mvt$$<|Lw@-Re1NxkCQ$$HTFp<0bGaeh;R0ra@dmx zB8ILY2U7PsO14>^@|w?kZ%jbZ^nVJ!K5PIjZ>Bi$i&qCf%t&l)(hh1-6~k`H)a7ZP ztHM24HE9yGr{OfJCOX|L$7Qc)Y>yHTzP5yrvpsUYrc>wMM1@{WLr|2K9&oktDSeY-8#gnOwaZ zC^fItfUxZe7Z0l1)w6eImvv}ncPCJaw;JmU^-Fhs-NCUYq@-vus%4GKfY8je zNh!CzSR)=pQm{C*{KGWM(qQmJ8dY0x#(17JL((1eN^k`mJ?6wcZKV^%m|p#-(kNtq z#ho<^wCT5pWZwkgc|En&fb$vdTmYtMb+Ps}ajz|}()K43flu2{O+CtcWgSfwHO`3{ z*DE;aWz*-9_pwFa#4yEg=8>#lEsqG`>2N;hlDN)Sh$oYo9-Z$UZ6FlGo|P}eD|d?SSL7(MWbM12iIs8iThKeF z*vxy}H&V&bclQ(-SGzz_Em@;f;K_-h*PWllGb1AJQguj4HyfS8dOIWSL^ye{^`o$%(L^AG;Orww<$+uo?ya5geX#It_t3mxrHF-pethbgC&b3{Kd6!ySJjDeEN zZH`H)B45GR#`of&-yWY_*(*5Hoc@K|{B2%zo7WA?0n}IlTP5uil0EF-8&NW+jjRm| zYDq2v&{A@#wM*0=xI5(%kqtDxd5GD>(xBbvD9|XIFKKr>$#BSzu`N?sd zw6Q(w>myBBy}1n-<>?O{8ol5sa@)Q%LeO5nKw8dcaJ(|s+$?0TGBK1DZXOisW8A#w zX0-A^7Yxb0dQPsP+0u53gUW42Yk+pt5$2Ar36OY5F`Te^|f zmKn42zMk@``(g5f)Ao zD0>xtA1HDL`2SV+-hphd@B8>Uy0yi5zDv>LH8E^ISA&3y; z5ww5ju#$Kx0j*q4oqaOyDe1E8M8}r=aebMa=3b>#$JcAB<>wd^AApqfg$@R&Ng7oPZ~uh;*xQX*8QRzykv~&smi!tMp#QfE^@>$ zi!-Rtp+@%WGLMthdHRuJ4KQE93ykQHGG_!mG`3wOdE+zRQ)xbLb~-8ZBy$Vc1%YCfpzpY2 zhsAWOs}C~!ZnPF%oeh}!315b)xMrswgd4bM8H#pZs}Ua0JFHH2LUMba zd&#wGuq8aty0a}y$q6>fj}3lposkTw8SM(t-m(T#KNNxMA3Z~5g;imCan}{Cj9Brn z@?qa$qGy)QH4s&W_almEgQoeH8SLx#d?%V^8jzvzO0yHp2Kl&YIfUe%;-KC1R#c3X zk>JV%ZJ?_=Q~vy_pSAY_LSuwqQ#K8>LWDx#r8PdOjfY=aZX{L?hVJ@!sBwAr*z4I* zjTPY?TL)&ym@Mm5WvW>9e@OVRz2&)EK|H>4dkvf)^Zp-8D%#|N3DYW*arSO_@kskS z9|<}(?*U`0NjOCT`@MR^|IN_5b<9ja*dXXshE z5S^%i2qQN>f}fZ4vBmRWfJy!C2{T8zPrZ`rKyLURqoh~3 z%-IN4eX{yj6PZ$VI|LuXsulXKOc&@0^5Ep*!^v#1=c|U3p%!nc{*{U#o|r(M7!xE& z`}DU3FL^{Y)^4otnjgG)(I}IGOV)r^j)d1;iQ$wWJw#Zc0hxzN&{A3hy>TG}AN(!A z;sR0Y-&F}Co6J4A>u&x|vYwkSpzlB(;EoXiq5f@w_)0#uhsy`f-E0ncdsS03u$ zuD~u_G|iqVNcyejVxM0!(59HTPrZ=1xe~2m6b;v_;1wwrrpN7#rrxnw zuLah=-TQPf|LaUDA)Q(`u6)wG&2r+hMVeF=U;q%;HY6Bj)mwn}8t{&r2=?wu`h1Lg zDD-r+|3D{qYyMCO5BPrDRk0VYz_9-C$+6l?|AF zPSsWqOZR6{lB91D*WeWKyYLp*iE?#d@Y~?Ul**T%oj4Qbl!KcrA%a^(ZWSbFb>9c5B~Mm z?`Tuu508YB^7DlQNYmMY)?0yoGcMlRit^YiYG+)-kf6Z3)u*CSlfWxy-jDhijRw}c zdUTuWyON__2R5kwj6k(I9fm{2r*t8NhOf=yl)82nu6)FIXYP4p$%Y&3ee-wMvvD#E zv8>w>HCxS}K{643@^*;lYH8J&MxWty_x+aMh34tSi#(&mqZTpflYV&;O;@|W0V@x+5nKi`tWU} zg`f2}|0jm8+a3eo43+h6x;xkrddF8T{+xe0H+0jo44~^R%yz<%F+Z+dHCH{JsZnNS zIHoMRZSmsG#)RlSSBr~(gErsEzE>WtER`;44Af|MP*_nGPL!^RDlX77tzLxEx)cLf zmT^q_Iea4`4*w5NJf}HNqM{U?DUrDOBD;jf*l$a{WCQyZmr*}oS%H{`)$peG$Pm=t zPdtJJSRhrh8t#|&@p4XWzpKe>GoOSk-ERKy ztYrSMp(ww+pP7r_2NN>|XDlHNt&VShmm$o@brU2B)?};lQeLkZW;FxrTmx?2Dwbe; z*!A@F6C_ceQ_2tM6S+#^CC9GfG?d6|g^_%vl&H6qKJkxoLgz z2-E>bl>wLZj((87EcekfD^Ay9^mMpn8OXi7!*Do+AkWX>O}yIZBwQll--DEJbuj}2 z0_nXr%@Xw5Ci(ii8+eOv*w)^F7bonNM~pi%R9ee%Zjx|R(8TOxV+n+8gbYp{+Eml5 zy4)0F)!g6#lBVuQIXO_D=d_)Ov*E6ab>AIIk8%3-QrbfC1SWyzJWuY?1f8lf@-5;Z zM>WvzRUR{U*^fi9T4cMvB_B2#?K9n2UN-w*TE@-?D|>b<$u6`Ota@N&f&$}puniLL z+v;pE18hg-t=0eNa^y!s2Yh?R@guz3TCBW)6n@~-K!O4go14?tHA$Tk1vgSRGl{(5 z&5~~a+ZAzF8)LJ|yl?+hkI5;%mTc=>{e!--_dF!qSp{h87PQH*D_ZIl+@dy@^NSpjIO~oS48( z^Wk8fk(<%cvI!cl1PovNu6u?>Q`^l<JiHMJBr(t-Nh2L_#$O~qm0OtT(Kx;ruNTxa`s~*{Nc`a)1vxh7Dm*1vYmAf z*HcE8mH7x&#)tKZGaFeYL@3j1b;ytNqLWdL%*YVxz^j+>vC0Rb`q2EtMP*z;5G@&D zH80&>raS3zxbo|>o>sk!9R;y=pCA)}^D8>`~oiYI92TVvvzM#)00B@StlM^Lp~_izO>e|%B!^qM-Av|$h99MtTOf*wn1b%`b)hx zSShu6D=3 zvR}uNC}yn9{Wz@Qi|nCaE5nOIzA$D}{n9?(^RhRG~i<(^SPKmB`1w z$IJ?Hlr=bg3L+1QO9K?uwDJrtXCb>rV&YH|p`BUu=&6k6PeTXRy-Ue;`y_+YbCrT& znaSb%1r~b)5{a+PI7)`aDlFgIYNx1J^mLQNCvG4(G#vbIb1YpVI!_7F}wNn zU^Vy94|u)e;;DLQV6K7U`lQ}SWsZ!?dU?%00)slIIb`m@KJesovi>DCe|-P$O!dD3 z#keDsn_}Gqlk*-0Bus=>P)_+@45K>X5(OTR0i~j8+-!j-uhBA?0W8?xBZ(gEkAKCd zNjErZ=jL?APeSAO8K8}$+UZf|MUW&cf|j_+v=bx&PUVqW8uvTHg+%GSo2vVdL?#G*{KQ<%x(-o^;XwE8u1!8)qa`v%BJ&-O)!?@;B>mkUh~&>+ey!}GQh-Ap9t z)Vr9#D5_h)C5v>>D9j!1If_@k5a(eMo^OoZizFDh5;!60CRS79p zf5MQ{K)=Ul65Hc*ft6;5fnh^Md0?*~RU|0fQC_s{;Iel$=S*4e4xoeiHs<{5VsDT| z$gAQnM8;kHbj>_&!c>_%+?;Q>@`HZcT5i8;@VLxXKGlX{fg_c+T7VQ zSw=N8`Cqq)Fh@@t)P6J91sgANW7VSU`>9>-FlyyQch0k9-+HQI^@fk1Q8y5WpUQuBuQ(j%oPB|uu=OmU$6nkH3 z2v#sfq-Q7JFt1jCDY&G0%SIVLDTn7aUm5*SIaGWK<_!hg>sfprBCi!4{Sg!t@KA)Z zZ9#ByDZv(;AA|?<)Et8zj6ZuQq-W?gnXV_fp}v&ZSxii=tmnf9_>LOO0AM}JLEeuC zyfj2B%`YfK;MG#o)}+h_p1FqSm)D2vmB%+c;{_@#d{Ff2x>>3sNHVVECyNd3f|XG>f%xc^(KrKKJChSxb2Ih#2zLoOzAaOB9{t{|kiZNM*Z(d}W21GWLC?%e;T>YVYjfWoKgNBbHEHkUW58sLiegL!76GdZbrcb zNlRPqCwmJHu2eX7drim33WJ4cE!Z1^+z6{PmEIul$C@YD#_RxtspVs)(PmuLFTZK~ ziY$n$HL5}vq{?av zyn$sVGqRTNd-c?C2Eym+5=u-25%zVYsjS#bD!J8#BBas#;uhLoz`O-buuEz_aJZed zwW$s}9ky_NGwIuKFyO{{_ei~;y;oY5pa*85bZeoh(h~P6IdgP-X^3!!#dgD?$4#1I zqme4WQ&qTE3@qNg7OlT@xwU;1e%WE|O8vM`^C&E8w>UsM*?T$6&O>y})98k?UU-d- zYeg{c!B~qQYwgFbL^1uVX_SL5XHkGP+;=c>7RB2MNJxx4x2PZ0z=HCR<7s9Wh>OZr zr^@4mbxz~LB5EWe!u86WOJ!Sv*M-B^G+lje{C05i=UbbkAG9#!`TLBM&Q3(o17@1P zD8Q|qsrz;l<#0pxbIJX`x#a$~;WvLrHcU~5X1-tZ*hA9C)lclItcbUyoG@ZQOWt^% zTs}F3KG0onA$YX-=Xh_xM>^}jwoZLJSw?u2PH^_D2ChDg>S`b=K992CV|Kw* z4SSY|FL-CejGlX7Ob+;J1It{TkqH^TnJR!%7vTY)MH|4nHvX-d{mKQG@Ub0Bf4-}y zN?ZuzI?TKdS>Uz6*y1VWS)FClq~6o=K{UUC56pb_{BNR>pFiQ$exg{>__&`y8p3c;`AvG+ih zQ{~6KqIQ4ls?r>p!y8fXPtxXyIaKewU!%oP^o+_FUwo;1Tf_>$N=PBccV_kwB10+g zRL8@&Ha9kW*@{=EJWl1t1=N_jh(#*J=vo-PAPhk?DocVooX))F!dsu11u{tW)P8 zPEp$L{?c=x{sNKDrHU91|4fv-?6UX3$y_xpyje@=Wz+>`qVL(}a>0K6TH@Tn>1(la zzR}I`pC>G;Ghw$6%5uo5PWa36n|3j_3$b;facoQHEc$A^j3tlHb(07A8Js3GH0154 zHbYXwYk$yRews>H56jsev?(e#UA3$nS#WH@!8(=kwQ?8k2_973*VMKH@3OSxUzOpL zR42shKNqvXC7arX{T5=4W;;2XdTvju9{jSLR(@uBw z()bQvnu*v4zjRW?ZN!Dt6UC{w83Wu!mt<@h0mcmTezTJi-Hz19PYnyO_*&K3reXc7 zKa|m>bee=fo$wJvmmTCZqW&TjO!%f9i|0C-FokMZOqs2cD43B$uxI)8NEt*w@J_BVK$7CT2 z6=eigls|_5STxbnvMWc9NoC!?l!Hl;jhZk*uh>wK?<8*m9P!61-6F z`q>17kWPViWdP!tNk6%^9l(%E_~a%j-OkbxGOwskbO?cD zY;T(|5m1=(DoQLX;8M9-38W-u(PvDR_rLUPoGeLTs7&$&ONtyr0@1ON(uC8MScMEY zzCWDgxw52bRXsn)`{vWR^uN-J>dhi50CIgk+@+Y5cq@D5gJru zWqIa#IKm7%H43Ph2Ule-OC1cZ>-xmiQx2<~m6+&FYgNEaEGN}^^HoTnRZhCLJfE^DjF%X#yFZgT=ez2D( z6=aYU#-mgnFdg$IkFQ*{`M8Y8=vh=e8oGZdw%ekNCV;gEX7aYIi-+5kvd%>PK>9FoVc$9^( zuPfVSC3*^FR>-N)t9dks%H0>-jp59;+VS4%@ zd+t-eK8TuH@uqSJn+pEq)o@0YCi=#;fihE)ed((_MWxae9U?P{1Yugz;meX>vD4;+Cm*ZWiS$9QbU*uW!&#TJg z<33wu4%(SdIQ^R8MAb&-@{zK!sk(fRL^4G7=ybhu{OC}Xxvt-NPjFOC(~_06rLvWQ zc)$Sru(Wry%bxjuvf}h7uB!rhS_VDupVM;AW+L<(2Zs@gwXn*xzv*pY-t-a|2`qJdJc;is4LC0o`M4iMI3Bzgh4aK+&VhVX~wwvAFxd1AI>f0qR26n-mT77i_`D2 z0{GrP5(%{c83Ju6RhONhpmS(cN=44vYeBR6+EM**?91(>NOb_bDfF>$`8KwYAuU`& z446mb9`kA?s;#tvoxMhVHvHERJZ3#;{f|JVi?v^wtIKjy#2b7|2Aov}55ktltdbJE z$l6RKZ0lnDT|pY&SGf-g_qmWys!1~!r9z7hY@a_&9-+@SwVR+#)6WBIxj*jSz?ogh zxM2zFiox2P1@>sZ7sNeYnR_sd)-4rJi^H#x~4ooMJtVtt@1HnO6 zyl!kM{r4621VG9k-2_?8!Bn)VohPTeYoEkmo#!JnWB2BzBBXydHom$aX3}dV)K984 za5uWH2LOlF#Ieq2ICzJ zt3gWcPWIQ*XfVAsAj(JjH0n7)Ea1^saciQMrE;Im7Udr!_5kbu*rkXc0{>n+<%WH* zqI3G=?VmL@6$@deryRL1t6h&V<%U}l=5(wq^BpMeYN~QR=4+IBu`mLNJ2k@1*Imp> zfj}=cR8+8P1vm73u_@ZvEUTd~qQ2cY;j9_bD}~CSqCN`^w$58>zSDa)QwfjRZu`!E zc@-uJh$$8djvuPogdj&0$jb_F8L0^Tq%wqsWZsd#w!N~0Lu@LOzk4UQ6dyT~Ndt z<$KcL+VfpIC+)3z=sgo=^ z_`8d}CMjc_k~Og^o;*T|-Ln}FprEx9JgZIn09(CJ=D$WNpG?~HH%ocM@0GL`R0lt6 z!hE%NoXnY6i@EoM7@{Z~FsYr9?7a%CA+5S{+3{NfccF2SvOGx z4Kdj0-0Gz9LJJL z(!tFJ&ENu4DzznhpK=&cqMDEh@Q6Q(Y1s{_zjTLOkPHui(Y{KXG4she3-p!s9$93& zo#*La__4jio#u)9%+!loTeu(B`Q}^VJ*dwl*oR#Iiz82~=nB_}_jdFCU69qTz2RJ& zE&W)mpGx^|d7%{KAwaZwrUZ{$ZpKzu_k7N=+p@-dTp?bmF;c{(%_-u}mr4uVCAts@ zeyX~=$}d*=u)ijEt>b3@J%UN|Qe)QO52VZHbub-{2yuL4V0Eu$r>u#xq3JTq5MXnS z$kIXkmF+6Fr%TZA+Hb@tbL+2O9!w9r2WY+i!m=c zu;TSAKB!$5ifW2IYfAB?Hm;Z`b~U%K_6;W7bb%RQcw`vU&4-pztV#P1#a)x5Wu-rY z6NRltYAR^*-3ktMv}6vC0s2$jv(u&n3lL=%fj-7m)d-5i)(d33ly zLXZ@`7p}dh8Ye`;^Uv*-O+7bf!VbvQ`+EgisJq|s0+T*e2&V^icyGD#n3YRw*cZ1w z!94s(6J9lLsqw2)2QW)3L8g;X>#rF4HISgT!XDJ@9L?|wP>#8Sc%JNcvMTRf{;gVB zBO@sMcOeGz&*}I+?H>%c>0Vz*x^DSM5`U-hg4J<2IK=2@MQ8+`(E;dm%H;hNuW85y z=*XlQSlM1MYkD1XcT_#!)yhCMNTsuu2Q((Pi|CUPz=XKp7P^c^F3XwO2#9E#mjuWZ zI7R0$SOl#B-FdC~FeZgLYCX{gJ6=l><&NrHEBHY-gi0yX8u8W8Tq>gr zR|9^9pfI0ZDgLTQac7(M^qZlUFh0HwDq@Goq{&no zfP`xn?MC955PMjW|E6tRkU{p!0DpnTsmcc*Ze(CMy1R;M`5hn@~3uLNVqGRWq} zh_vgYS++hg?&0!lDi?WU@aC>xcNhqm|14I|d9dg{_$>A`Mw+F(0`ugI1Zta7D}o#0)P@@(JN!gk zPxJ1%p{S}_yYBFp6*N`d?v@6PpvQe5o+&$JdQ6O#C?5gd__UDYVL%kHgh)k&iP!Bq zH|WwIm#@}dpwTjPq_o7n!4Z0u^t0>(i0kEwn{N<0#a4FfTx8-CbP1!fFkp0xd2r<- z1NDSy1!)|68>xQyH{XOXiRI6-IkQxq@w^IoYdLM4)=(_oRNkZY;ESoE*gbv`PZI{3 zVhlUKBYzF4;$+nsJU|^~HCH}O-7E+Y1J(jXhOHfnK^Fb4aX3#jO^Sg-wBKNxi?81O zJy%W+s=U&WZSoPF;vp&a{-Fp^4+zT7UzoSFRxiC{bJ9np9Qh;!x-g;8J4Wm(Z)Yjs zfK9<6J5DyZF$ZUz`~)|0#%hpVxH!E^(Yb&g+h4ZZ`@*G%F{|&n5~!jQO9)Mm?X(#1 z$-)h7of?_&UFs#(ZlpMPSqTM)4|12ddh>G`I)xQ$3>*2dcybTQP5ti6=yLiZiPgD7 z&aiNk$7;P-&J^n=unGigZ;1h`jXhrb+hg_41#fZZMe#JBY1FiwZ*Hs>aneX!{-)F? zlAUJM4d|GvJmtI768!Ld+0&0mAp2cJz5S|G^h}h{!-L_4n|tBqH86+&0t^? zgLv?-A{4)I&aq&}K;Vsj@@g>T>w+1!Ysa$YjSK5O1hw3n5pdjOWB1}?_6{vp+EbQi zN`yIFxpI$5pRqKA{&mgK0y=I;RyN`*8I24B`3Y}pH4TK8WgfUWDmQ7qvZO_8Ref6-BShxQfzCk+KW!^+ zslf+`!MESYi)l9ruL|&Qyic=*mq)fK(mzvlB@hZzrsMHxuUmmPKu7{PjXopO3{_N2 zuybh`vMXO(ul(G@kTs#~q$j$HJkRVu>>o~3`|O9}MB{$h*GxQuFh2{uu|AT`9uhp@ z7`9|Vf?TmNRBnZtrsvO})^+dvSIDPz!>XgNToyZzYoHk+W$*vJnN_8Bf!eW*o5al~ zw#M7)^{7SHgoRM0Tr!_4s5EazPkHz0s_E9O6*rMxbgFhg=A``c_IhfWMQ*!~BOXq6fH@iUO>jn2~{Y!7g3lPldexg*P+AM?{(i-l>;%gmk zV+5+qT<%NRYXW9MU3EPUvqK_e5Z-N{=LgJ)o;9TzreJ9F{xh3REk*BvXT7Bn-%;zT zmIE?(B0%5eOcu)a=9kAIZOMjXSbvB{aog$bGAZ?Vs@d+$bmK~fZVxlyOf)<$0B@0H zmkIRMn!-@^fDbpO>ptGOMxjGRAv?Msns!JNnzuFXqf$hxYE-Tk>J!B&mI2m6-q8;kqxda|AEUgoYWn9_mG2opqptZ&2XwXYG? zHLpvUq!aMuNQLX~$8-+tp2vs9TI93mQ69hb%xqCmdL{hi6=!38*hxTU;lfV?z=I*Q z40OOUn|$kW{bYAV%4Hi*LfO)=PK_Nx1cc$RS^FjHv^X2!5B!*MX=T%EEdY9uy-Kvl ze4)!(GC-q9TzX!y+>0$o@2iunUI``SjMY=XO}%Ds7e^Q3tZ3!rQu>1kJr~4zF!1?J z@2In;{BBOt<0d=HWw-Xui*u(klzHM2XMKN#?_MVOhqgB_9KVg92mTH)Nt6N32f8T= z%2bV8Saq^AMnl0RwD!={=n`S}5k~CRt6%$#RET{XGm)Q#Bbl>lcZGH zpX?f5{(9@FF%=A`@GpERiWo_eIa(!HDDUz+i77Mbu^@l&TtYFMg8H8%{n1N*y7xFE|*H@&(3 zaAoh;Q|@N0k}{8f+H%{*&1=ZFT9q0fN{{z-6tixb6TFMOot=NV2I1Q4%PL>m$|f^^ zJ+DYYwS=$u@?sY1Y9?=o44ok10M^GDS)Q^V4sN;rT`U z!f|njZ7)|he$be?ZW4Yu@J(1|2m$joWHY$sF2(WLSY36)7=P7sf&-vJ@CX5SpsjdK zWYy}k)Kh3Qer42f9n5>cxGp}jW1?#Ftb8Uw>u@6^WW0E|D)-PD1O@fQ&0s+6O$+2w ze+;uaTdzx>@w;|4=Cx-G?$dVkQRD!pS!#o9mW8*)l1a-e@I!!CCd6E_MrvK?U3t}Z zBk!}J{d?;p!-3&tonVO#v*2ivs52Ctfe7GiYE43AKl`LPjKgmA+|U(lM^#p5+xYLL zu#=uKdUj`@^fLY3G)ocEZME}^p-~97-x^|-Zn+eR`o*#`tdg_HaI;w`@Ea#|_4b8f znfJZh`|TEs1cgXi+ya#RdNi6T0sr1jNBNR zGp2d_o^4t!Sk(z9er39$%X-d^BAU|9&P{BgiKMzx`I}}yoCm?;by@tcg!%nl%!rca z8Ft(H73fr`%v);xT^$E32Z60hH@Dp-anM@jmOUAi;X>;+&i0KoQTa*o|tJwmi%lW zao4hKZX9RLg`Rz^S4#@th|_t=lIZk>XloT!XAet=Cx_*TiQQhBOyX}azU%!U;1$D5 zgMoi3vNrmH82~7|6*s45k-s(iNQ&D@Z$S9Q2OB;un0&b4T3%votIgOe!ZDXr!>>Bj zJ~VeRGpomZ-0pRsBhN6%&+hOzxxak!J>K=|p;d_F%E6L&|EkX9#SkQ6HZxIUG@;mn zrn{~09V^UR2mj%y4UWNt<@jgwlZgZ^)S>H3|9kopS6+ednub7`pC!lE;BHWue2TV_u%U6CG6NkMF_oRmia_NUjw4 zR$cGCalT?ef{c_Q-n?+4-n^o^Sg3E^u1Qh&1gk-P6>Sl;UCa{O3z3KnE$1q4pifLJ z*U@I@Q&0LH07M`go(==;koq!ivyT~m!f*5g)P5#?H>y;=N`^Fb?a%GyD(#itKZfG`U}vDfif}-(+NH z4BDK6pXjy(uUkUkW6ll)NqM4PyN+vOKvike9CQ3b9h9t)2Iv)`W6ZE8K&xgmpo3^? zK2Ku({4r=;;5a>F=0Cts@jq)DjlFJk4`E*`6gkL2sC;RjcW7h&a_UTibO5=r-T2H$ zE;H$zfv3beYsmf7)a&w#$2vdzRSSGjS!3AMn%}3QAZsD47S?!{)Mv{mR=~D?4SqB3 zGrc$Z=b&QuB6GSxD=2q`h&&Oqd0;Di!EVv0rQ8K{4xRw1Y1_h5J%vB+gbv-{)uWej zTjF|afBnnX;&_rxZ1Dd3t%OL0?Y~ z&+h=?s}>N?(a4F7ilxd&KVCo3k*503;aivc)~Z7TABzb)DX4%8lJUCi_#{ z$IW$YpX zh2>{Z#o?*>s}=7jVWMK}pT_~FjaVd`SnC;j^B#^V%8(>f?Hbp5$3U~Oz>KFeA4oa| z1wP0H7i)UruQJzZ$BScmxVm#ZRZfyy>fsg)Z4>6KLHD?_IH|o&D+ugkNF04`);O$` zIT2Egyx$xu^u!9lEShSdkS&qSR_~5i(;Z^6_n>06=dJbu;3EgsQGrWr5Y68wt>gaC zUq-yWveF0iFHU8b8O8P{dDttsDn4xNmC}|Et8R&KogG9e0&qyJe{D~NNeShs@>SV0 zCWL>uC%Nz3+Bqmf93Q)Eh%C_8VC?!J`q~2d1Pc)6@@fj3EzGd!qDBVXh zYJPkLpOVK7uwr%9-aK0!r(xor_o-_XeMyxsQ!omtEq#8}*L10jXb9eZ{r$6X^uQ%E zgM!QG=H-8&Pio>Yu=BND9u8D$gvMxMBEv_lm!4@kVFz6%Aa|@|2qh}yue8a*^Cv

ebJezB)Sai5=GbMWCo& zUU*IJ$dc*3P+gUvB-``P97NZ-P^17uknwG+5<(9zTXcxI{ilEKN@mr>M=fnDSB)X`rLB9dCVgd| zz;DqYZ?sUy*yG(Ud6D<2_p!-u&ckD*WoYpWF5hYY#M5NTy#_xE%%1kE7)5?_H>~7^ zZ$0%`*(gymmd#(-6nhDqG|ZoGArw`~2rU!5(N@lpvQ}}em2SdUx*QA|%9-)UjN_vM z-`Lw6_Z+jB7JWwTs5u7{J3p(K&^OyaRURA-X*MA2)R-TKDx~@HkujEl3Vi`7iq^9tlqUi3&mh^<#95I8vHxve;}*=Z+4yE+|J5mc2mYgFnMlGlYP-`?t5)9 z7APTKJjon%JFJ)=_B;6peGa0M!)S$DCN8=eQjB^&{qV?J&v?y!@%ML&{Y-NCd>gTP zg%{JaqZtK1ssVUR74ThRXN zEZapGM*Gvoo6ccfyU>SRtSRYP!DeiY?mqJVs8hl=Q4>GXjKU}?+#}^OW#tq@OwZJaanCjPYK_3 zvAo&56HE@u(Qe?!7m93BM-_WzUYX*i=orLPt4P-2O+{xEh@Vw$B{R^x{@aBC7 z!-GwsU-5M3S3%Oks!Gt5!?kk6W&!LCrR@Pn)Qe)$6}L{B4uL$z8CB|Cdr4IEt3L=e zgcSa{D#Uip91_s*hr!NK~ISI-LmO3TYfJSvd{^+#aeS{Ice zIUOMqhZr#0rP$!4m37TS9)AU2oLP^;xW?t3)&9;eO!Mm;WgFWYL3XFVx=XJO?49Gu z3BLpN&%RELEAE*aT-~H;9gcPgGG{mHzcx*{E-hfUL5X9HSp{5TR*#tHfsELFqo0%7 zUORsWcyKe;Eqg68{D6$mpE8|USX2g%#l^W&1P`n(KV4c)U}iO|MP6 zmYwb7D+q5I_1uutIUNW1i5{=WUyVeE$%A)5vj?08$S)kea(;O>oqok{CT1tnzterf ztGncd!woyU4WE$>SX~C5V1?ZYKC}^oP^}asFHD;>oetuCzIg*@M|!L=di5Cf0iXRD zwqkJ8|4AIQKTK-uR-;aT>4qi=UVG~J=FJOFHPh@!9Ujw$fgO3BM><)tTk?CSR_zT& zqy1-nKY@BoVNA@if}*V6dlljXYM@`M*k8tY2)sx4x5`$Zocl1(eqbxWX55u!+Ui~G zBNiOLbDr{Phmo0CMExw!bnEGmTImytrQQc7_1?r>@6V@986412CM>6yU+|X)m@wh+ zK0+xei;H5=t$3>B&|;z?YG89p@2XkU)&%;sw~hV9MD>+M&C{Lo`o5#H_g%9U9&+z( zSP})i@T(g(yoR=A%N~ zoaiN=Elu-(b}w5+wVH34VT>oa)namhXH=~YXRiyS>u;7C^0?z^phjN?b%bS+PAL{ydQO7l%mr3ATdmKM&O2`}aq^z=Ku5@ht(z4*j~Cq_)lYd zt721*9r^gb53<+cI9X!#&XI>5Li?X}%2CsUwo_&v44MbPqK4n z`SaXgZ^cgCs_;Jb3HYBD4X61Y&;Q=WZhR{Q{ysV+_N4M0o1OE2v(H+zNB-0I|Nm^! z{&g03TLaaK=+c!<@ zKfTRc`K_)cCg$03&-3HjZZ_La?8T9PJ~yoVXa@)R@WQE!8?7%??G*oFy|gs+)ytmR Gzx#iIKY8T< literal 0 HcmV?d00001